如何仅使屏幕垂直。 (UITabBarController / Swift)

时间:2018-07-22 07:20:31

标签: ios swift xcode uiviewcontroller uitabbarcontroller

当我使用UITabbarController时,我只想显示纵向屏幕而不旋转屏幕。

当我不使用UITabBarController时,我不会旋转屏幕并且它处于横向视图。

因此,我为不使用UITabBarController的ViewController设置了以下内容。

override var shouldAutorotate: Bool {
    get {
        return true
    }
}
override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
    get {
        return .landscapeRight
    }
}

在应用程序的规范中,我们进行以下设置。

enter image description here

我正在情节提要1中使用UITabbarController。 enter image description here

我没有在情节提要2中使用UITabbarController。 enter image description here

我想创建一个从情节提要1切换到情节提要2的应用程序。

我不知道如何仅在使用UITabBarController的ViewController上垂直显示屏幕。

1 个答案:

答案 0 :(得分:0)

我建议您创建一个扩展程序

extension UITabBarController {
  override open var supportedInterfaceOrientations: UIInterfaceOrientationMask {
      return .portrait
  }
}

用法:

 let tabbar = UITabBarController.init()
  _ = tabbar.supportedInterfaceOrientations

tabbar.supportedInterfaceOrientations = .portrait