目前我在 iPhone 应用程序中只有纵向模式。我想在应用程序中允许一个控制器的横向模式,但不幸的是我无法使其工作。
我的 plist 文件中有这些设置:
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeRight</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
</array>
我在我的控制器中实现了这些方法:
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}
-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskAllButUpsideDown;
}
-(BOOL)shouldAutorotate
{
return YES;
}
我在应用程序中使用导航控制器,所以我意识到这可能是问题所在。我将其子类化UINavigationController
并再次实现shouldAutorotateToInterfaceOrientation
,supportedInterfaceOrientations
并shouldAutorotate
以与上述相同的方式。当然,我使用子类导航控制器来显示应该具有旋转能力的控制器。我也尝试按类别覆盖导航控制器的方法,但它也不起作用。
我从一开始就没有在应用程序上工作,我继承了代码。如果有可能如何在全球范围内限制景观,那可能就是我的情况。对于测试,我使用 iPhone 6.0 模拟器,但我的部署目标是 5.0。我感谢任何提示/帮助。