我正在使用UITabBarController,我的应用程序支持纵向和横向旋转。在启动应用程序时,我正在显示模态视图,但我需要将模态视图仅修复为纵向。我不知道怎么回事,类似的线程听到建议继承并覆盖supportedInterfaceOrientations
和shouldAutorotate
,控制器是UIViewController
子类,模态视图是UIView
子类。
相关代码:
-(BOOL)shouldAutorotate{
//here I tried to test whether the modal is still visible on the screen and return no in such case, but doesn't seems to work.
return YES;
}
- (NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskAll;
}
iOS目标:5.0
答案 0 :(得分:0)
方向总让我困惑,特别是从iOS5到iOS6的变化。 昨天我做了与你想要完成的完全相反的事情。我只需要一个模型视图旋转。我编辑了我的代码以满足您的需求。
首先,选择您需要的所有方向:
在 rootViewController.m中:
//iOS 6
- (BOOL)shouldAutorotate {
return YES;
}
在 ModelViewController.m中:
// iOS5
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
return ((toInterfaceOrientation == UIInterfaceOrientationPortrait);
}
// iOS6
- (BOOL)shouldAutorotate {
return NO;
}
// iOS6
- (NSUInteger)supportedInterfaceOrientations {
return uiinterfaceorientationmaskportrait;
}