Xcode iOS 6模式视图shouldAutorotate和supportedInterfaceOrientations不工作

时间:2013-04-09 21:10:39

标签: xcode view ios6 orientation modalviewcontroller

我在appDelegate类中编写了这部分代码来控制应用程序的方向。

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
    NSUInteger orientations = UIInterfaceOrientationMaskAll;

    if (self.window.rootViewController) {
        UIViewController* presented = [[(UINavigationController *)self.window.rootViewController viewControllers] lastObject];
        orientations = [presented supportedInterfaceOrientations];
    }
    return orientations;
}

我使用此代码以纵向锁定我的方向。

- (BOOL)shouldAutorotate
{
    return NO;
}
- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskPortrait;
}

这适用于由NavigationViewController推送的所有ViewController,但不适用于由modal呈现的ViewController(我的模态视图似乎不会覆盖此代码)。

当ViewController由modal呈现时,代码示例不起作用。我的ViewController(模态视图)仍处于纵向方向。

- (BOOL)shouldAutorotate
{
    return YES;
}
- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskAllButUpsideDown;
}

0 个答案:

没有答案