0

我的 iOS 应用程序是以纵向格式构建的,我想保持这种方式。但是有 1 个屏幕,我只想在横向,而不是纵向,但不知道该怎么做。

有什么可以建议的吗?

非常感激

4

1 回答 1

0

首先,您应该在 Xcode 项目摘要中的 Supported Interface Orientation 上设置所有方向。然后在您的 appDelegate 中:

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

    if (self.window.rootViewController)
    {
        UIViewController* rootViewController = self.window.rootViewController;
        UIViewController* presented;

        if ([rootViewController isKindOfClass: [UINavigationController class]])
        {
            presented = [[(UINavigationController*) rootViewController viewControllers] lastObject];
        }
        else
        {
            presented = (UIViewController*) rootViewController;
        }

        orientations = [presented supportedInterfaceOrientations];
    }

    return orientations;
}

然后在每个 UIViewController 中:

- (NSUInteger) supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskPortrait;
}

在您需要其他方向的情况下,您应该从 UIInterfaceOrientationMaskPortrait 更改为 UIInterfaceOrientationMaskLandscapeLeft 或其他。

于 2013-07-21T14:47:29.653 回答