【问题标题】:iOS 13 UITabBarController inside of a UISplitViewController not collapsing correctlyUISplitViewController 内的 iOS 13 UITabBarController 未正确折叠
【发布时间】:2020-04-20 16:53:04
【问题描述】:

我在带有 iPad 的 UISplitViewController 内使用 UITabBarController。在 iOS12 上,这工作正常,标签栏控制器折叠成“更多”标签。

在 iOS13 上运行相同的代码会导致标签栏控制器无法正确折叠视图,如下所示:

编辑/更新: 这可以通过“Master Detail”Xcode 模板重现。在不修改代码的情况下,将“主”导航控制器的根视图控制器设置为选项卡栏控制器并添加 >6 个选项卡,如下所示:

导致同样的混乱:

这让我相信不是我自己的自定义代码是罪魁祸首,而是我不明白 UISplitViewControllers 在 iOS13 中具体如何运作。

有人遇到过这种情况吗?我尝试了this question, 的解决方案,但不幸的是并没有改变任何东西。

【问题讨论】:

    标签: ios storyboard uitabbarcontroller uisplitviewcontroller ios13


    【解决方案1】:

    原来我对linked question 的cmets 的挖掘不够深入。我能够通过在启动后以编程方式创建一个全新的 UISplitViewController 来解决这个问题,它可以正确地获取特征集合。代码看起来像这样,将 WIQSplitViewController 替换为您的子类,并将 tabController 初始化为我在情节提要中设置的 tabcontroller。我没有初始化tabController,我只是从应用程序启动时使用的splitviewcontroller 中取出它(已损坏),然后将windows 根视图更改为这个新的拆分视图。

    let storyboard = UIStoryboard(name: "Main", bundle: nil)
    let splitVC = storyboard.instantiateViewController(withIdentifier: "wiqSplitVC") as! WIQSplitViewController
    
    let navVc = UINavigationController.init(rootViewController: tabController!)
    splitVC.viewControllers = [navVc]
    
    tabController?.setViewControllers(tabs, animated: false)
    tabController?.selectedIndex = 0
    
    self.window?.rootViewController = splitVC
    

    【讨论】:

      猜你喜欢
      • 2020-01-02
      • 2016-02-13
      • 2011-12-23
      • 2012-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-29
      • 1970-01-01
      相关资源
      最近更新 更多