我已经对此做了大量研究并且遇到了障碍。
我正在开发一个具有多个视图控制器的应用程序。我有'主页',如果你愿意的话,可以访问所有其他视图(这个ViewController.m)。然后我还将一个UINavigationController.m附加到ViewController.m以允许完整的导航栏等。
我的问题是,我希望所有视图都以纵向显示,除了一个视图,我只想在风景中。在我的应用程序选项中,我已将其设置为启用所有方向,然后我读到您应该覆盖根视图控制器中的主方向(我假设是导航控制器?),所以我添加:
- (BOOL)shouldAutorotate {
return YES;
}
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
这会覆盖所有内容,只有肖像有效。然后我尝试添加:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft);
}
- (NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskLandscape;
}
对于我希望仅在横向中具有但在模拟器中无法工作的视图。
有人能为我提供解决方案吗? :/
(如果可能,我希望支持iOS5和iOS6)
[编辑]
我应该补充一下,我没有以任何方式编辑AppDelegate。