模态UIViewController
的父级自动旋转,但是当模态VC启动时,我只希望它以纵向显示而不能旋转。我试过简单地从shouldAutorotate
中返回NO ...在模态VC中,但没有快乐。支持iOS 5 +。
非常感谢任何帮助。
答案 0 :(得分:11)
基本上,如果你在 任何容器控制器 (即UINavigationController)上呈现模态控制器,它的自动旋转方法默认返回 YES 。所以你必须为你的UINavigation Controller和Deprecate Autorotation创建子类。
对于iOS 5使用方法:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
return (toInterfaceOrientation == UIInterfaceOrientationPortrait) : self.enableRotations;
}
适用于iOS 6的:
- (NSUInteger)supportedInterfaceOrientations {
switch ([UIDevice currentDevice].userInterfaceIdiom) {
case UIUserInterfaceIdiomPad: return UIInterfaceOrientationMaskAll;
case UIUserInterfaceIdiomPhone: return UIInterfaceOrientationMaskPortrait;
}
}
- (BOOL)shouldAutorotate {
return NO;
}
答案 1 :(得分:0)
这可能是可行的,但在此之前我会三思而行。
作为用户;
糟糕的可用性......
答案 2 :(得分:0)
你必须在新的导航控制器上展示这个新的控制器。这将解决你的问题