【问题标题】:iPhone app opens in landscape mode on iPadiPhone 应用程序在 iPad 上以横向模式打开
【发布时间】:2016-03-04 23:08:51
【问题描述】:

事实:

开发了一个 iPhone 应用程序,该应用程序通常可旋转,但每个视图根本不可旋转。我们只需要一个显式视图中的旋转功能,因此我们必须在一般情况下启用旋转。

现在,当您在 iPad 上安装应用程序并以横向模式打开时,应用程序会以横向模式显示,如果您转动 iPad,您将无法将其旋转回纵向(这似乎是合乎逻辑的,因为不允许旋转在视图中)。

我没有在模拟器中体验过 :(

有人知道该怎么做吗?抱歉没有包含代码...

【问题讨论】:

  • 检查您的 .plist 并设置所有方向属性。
  • 默认情况下在 iPhone 应用中以纵向启动,但在 iPad 中支持横向和纵向启动屏幕,可能是因为它。

标签: iphone ios objective-c xcode ipad


【解决方案1】:

尝试添加“支持的界面方向 (iPad)”并确保“纵向底部主页按钮”是列表中的第一个。另外,修改你的根视图控制器,使它只显示在纵向。

【讨论】:

  • 这对我不起作用..我添加了“支持的界面方向(iPad)”并确保“纵向底部主页按钮”是列表中的第一个,我还添加了功能“shouldAutorotate “到我的根视图控制器。有什么想法吗?
【解决方案2】:

除了 Mike M 的回答,我在 mi RootViewController 中有这个:

Objective-C

- (BOOL)shouldAutorotate {
    return NO;
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
    return UIInterfaceOrientationPortrait;
}

- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskPortrait;
}

斯威夫特

override func preferredInterfaceOrientationForPresentation() -> UIInterfaceOrientation {
    return UIInterfaceOrientation.Portrait
}

override func shouldAutorotate() -> Bool {
    return false
}

override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
    return UIInterfaceOrientationMask.Portrait
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-12
    相关资源
    最近更新 更多