【发布时间】:2013-12-17 07:41:22
【问题描述】:
我有一个 iOS 6 iPad 应用程序,其中大多数 ViewController 都有其导航控制器。在所有这些视图中,我希望方向只是横向,这很好用。虽然有一个视图控制器没有导航控制器 - 我只是在导航控制器的顶部视图控制器顶部打开它的视图,但它不是模态的。我确实希望用户能够在该视图控制器上更改屏幕的方向,但在其余所有视图控制器上保持横向。我就是这样做的:
导航控制器的子类:
-(NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskLandscape;
}
-(BOOL)shouldAutorotate {
return UIInterfaceOrientationIsLandscape(self.interfaceOrientation);
}
以下是我想要同时拥有横向和纵向的特定视图控制器的相同方法:
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskAll;
}
- (BOOL)shouldAutorotate {
return YES;
}
由于这个视图控制器没有导航控制器,我确信这会解决问题。但是由于某种原因,我仍然无法在此视图控制器中翻转屏幕。这是我展示 View Controller 的方式 - 也许这就是背后的原因:
UIWindow *window = [[UIApplication sharedApplication].windows objectAtIndex:0];
[[window.subviews objectAtIndex:0] addSubview:previewView];
【问题讨论】:
-
我认为我显示此视图的方式必须是其背后的原因,所以我的问题宁愿是这些视图是否有可能具有单独的方向配置?
标签: objective-c ipad ios6 uiviewcontroller uiinterfaceorientation