iOS应用程序只支持一个tabBar项目的横向方向?

时间:2015-07-15 17:20:42

标签: ios swift

我正在使用swift制作iOS应用程序。我的应用程序有很多视图,所有视图都以UITabBar作为根视图。我只需要支持一个tabbar项目的横向方向。

  • tabBar 1 - 仅限肖像
  • tabBar 2 - 仅限肖像
  • tabBar 3 - 仅限肖像
  • tabBar 4 - Landscape&肖像

我该怎么做?

1 个答案:

答案 0 :(得分:2)

我有一个基于这个答案的工作解决方案:https://stackoverflow.com/a/24928474/1359306

  1. 首先,请确保在Target Settings > General > Deployment Info
  2. 中检查支持的方向

    Target Settings > General > Deployment Info

    1. 将此代码(取自关联的答案)添加到您的应用代理:

      internal var shouldRotate = false
      func application(application: UIApplication, supportedInterfaceOrientationsForWindow window: UIWindow?) -> UIInterfaceOrientationMask {
        if shouldRotate {
          return .AllButUpsideDown
        } else {
          return .Portrait
        }
      }
      
    2. 然后在仅景观视图控制器中,将以下代码放在viewDidAppear(NOT viewDidLoad!)中以启用纵向和横向视图:

      let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
      appDelegate.shouldRotate = true
      
    3. viewWillDisappear相反,再次禁用横向。

      let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
      appDelegate.shouldRotate = false
      
    4. 当应用程序处于横向状态时,我也隐藏了我的选项卡和状态栏,感觉这比使用选项卡并自动旋转屏幕要好得多。

    5. 在我的案例中,有一些事情我不必担心。

      • 从横向视图显示模态视图会导致问题