【问题标题】:How can I force screen to rotate to portrait but not upside down in iOS? [duplicate]如何在 iOS 中强制屏幕旋转为纵向但不倒置? [复制]
【发布时间】:2021-09-06 02:59:54
【问题描述】:

我想将某些视图控制器旋转为纵向但不倒置,即物理主页按钮位于底部。我怎么能这样做?

【问题讨论】:

标签: ios swift objective-c


【解决方案1】:

如果您需要一个特定的视图控制器来锁定纵向并且其他视图控制器可以有任何方向,首先保持所有设备方向模式不勾选(如果您取消全部勾选,它会自动设置为所有方向)或全部勾选.

然后在你想要保持纵向的特定视图控制器中添加以下代码,

override func viewDidLoad() {
    super.viewDidLoad()
    let value = UIInterfaceOrientation.landscapeLeft.rawValue
    UIDevice.current.setValue(value, forKey: "orientation")
}

override var supportedInterfaceOrientations:      UIInterfaceOrientationMask {
    return .landscapeLeft
}

override var shouldAutorotate: Bool {
    return true
}

【讨论】:

  • 由于私有 API,我不会在生产中使用它。
  • 提问的时候也得提一下你的要求
【解决方案2】:

在目标UIViewController 子类中覆盖这些方法:

override var shouldAutorotate: Bool {
    return true
}

override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
    return .portrait
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-30
    相关资源
    最近更新 更多