我有一个带有一个 NavigationController 和 4 个 UIViewController 的应用程序。我喜欢在 UIInterfaceOrientationPortrait 中有 3 个 UIViewController,在横向模式中有 1 个。当视图出现时,Landscape Orientation 应该立即出现。不幸的是,模式只有在我转动设备时才会改变。如何在不旋转设备的情况下立即更改为横向?
这是我的 NavigationController.m 的代码
-(NSUInteger)supportedInterfaceOrientations
{
return [self.topViewController supportedInterfaceOrientations];
}
- (BOOL)shouldAutorotate
{
return [self.topViewController shouldAutorotate];
}
这是肖像 UIViewcontroller.m
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}
对于景观 UIViewController.m :
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskLandscapeRight;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
// (iOS 6)
// Force to portrait
return UIInterfaceOrientationLandscapeRight;
}
提前感谢您的帮助!