3

我有一个带有一个 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;
}

提前感谢您的帮助!

4

0 回答 0