UISplitViewController内部的iOS 13 UITabBarController无法正确折叠

问题描述 投票:0回答:1

我正在使用iPad的UISplitViewController内部使用UITabBarController。在iOS12上,此选项可以正常工作,并且选项卡控制器会折叠成“更多”标签。enter image description here

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

enter image description here

编辑/更新:这可以通过“ Master Detail” Xcode模板进行复制。在不修改代码的情况下,将“主”导航控制器的根视图控制器设置为标签栏控制器,并添加> 6个标签,如下所示:enter image description here

导致相同的混乱:enter image description here

这使我相信不是我自己的自定义代码才是罪魁祸首,而是我不了解UISplitViewControllers如何在iOS13中具体起作用的某些东西。

有人遇到这个吗?我尝试了来自this question,的解决方案,但不幸的是,它没有任何改变。

ios storyboard uitabbarcontroller uisplitviewcontroller ios13
1个回答
0
投票

事实证明,我对linked question的注释不够深入。我能够通过在启动后以编程方式创建一个全新的UISplitViewController来解决此问题,该程序可以正确拾取特征集合。代码看起来像这样,用您的子类替换WIQSplitViewController,并将tabController初始化为我在情节提要中设置的tabcontroller。我没有初始化tabController,我只是从应用程序启动时使用的splitviewcontroller中删除了它(已损坏),然后将Windows根视图更改为这个新的split视图。

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
© www.soinside.com 2019 - 2024. All rights reserved.