强制视图仅支持横向模式

Posted

技术标签:

【中文标题】强制视图仅支持横向模式【英文标题】:Force views to only support landscape mode 【发布时间】:2013-01-21 03:55:23 【问题描述】:

我只想在我的应用程序中支持横向模式。我设置了以下内容:

    应用程序中所有视图控制器的方向都设置为横向。一些视图控制器在情节提要中,而一对则不在 所有 viewController 的 shouldAutorotateToInterfaceOrientation 方法设置为对于 LandscapeLeft 和 LandscapeRight 方向返回 TRUE,否则返回 FALSE info.plist 中支持的方向也设置为横向

现在,当我运行应用程序时,一切都按预期运行,应用程序以横向模式启动。

但是在某些情况下,我必须在应用程序开始时抛出一个模式。 我使用以下代码从UINavigationControllerrootviewcontroller 打开模型:

    AskInfoViewController *askInfo = [[AskInfoViewController alloc] init];
    [askInfo setModalPresentationStyle:UIModalPresentationFormSheet];
    [askInfo setModalTransitionStyle:UIModalTransitionStyleCrossDissolve];
    [self presentModalViewController:askInfo animated:YES];

在这些情况下,模态框打开得很好,但模态框的背景是纵向模式。

知道如何确保我的应用中的所有视图始终处于横向模型中,有或没有模式?

【问题讨论】:

【参考方案1】:

所以我终于找到了如何让它工作。我没有在viewDidLoad 方法中打开模式,而是在viewDidAppear 中打开它。

【讨论】:

以上是关于强制视图仅支持横向模式的主要内容,如果未能解决你的问题,请参考以下文章

如何自定义仅支持横向模式的子视图

设置为横向模式时视图位置不正确

在一个模式视图控制器上强制 iOS 方向为横向

锁定视图以最初在横向(仅横向)目标-C 中启动

如何仅支持一个 UIView 的横向/纵向方向

强制 UISplitViewController 始终以横向显示主视图(仅)(在 iPhone 6 Plus 上)