在父视图控制器里面写如下代码
-(void)setViewOrientation:(UIInterfaceOrientation )orientation{ if ([[UIDevice currentDevice] respondsToSelector:@selector(setOrientation:)]) { [[UIDevice currentDevice] performSelector:@selector(setOrientation:) withObject:(id)orientation]; } [UIViewController attemptRotationToDeviceOrientation];//这句是关键}-(NSUInteger)supportedInterfaceOrientations{ return UIInterfaceOrientationMaskPortrait;}-(BOOL)shouldAutorotate{ return YES;}- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation{ return toInterfaceOrientation==UIInterfaceOrientationPortrait;}
在子视图控制器的加入,这里子视图控制器要横屏
- (void)viewWillAppear:(BOOL)animated{ [super viewWillAppear :YES]; [self setViewOrientation:UIInterfaceOrientationLandscapeRight];}
//重写下面子类的方法
- (NSUInteger) supportedInterfaceOrientations{
returnUIInterfaceOrientationMaskLandscapeRight;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation NS_DEPRECATED_IOS(2_0, 6_0){
return toInterfaceOrientation == UIInterfaceOrientationLandscapeRight;
}
联系客服