首页 > 解决方案 > 嵌入在 UITabBarController 中的 UISplitViewController 在 iOS 14 中的行为很奇怪

问题描述

正如标题所说,我在 aUISplitViewController中嵌入了一个UITabBarController并将displayModeUISplitViewController 的属性设置为allVisible. 但在 iOS 14 的水平常规界面中,UISplitViewController仅显示一个视图控制器。在 Xcode 12 beta 2 中一切正常,但在 Xcode 12 beta 3 和 beta 4 中却不行。

屏幕截图在 Xcode 12 beta 3 和 beta 4 上运行
屏幕截图在 Xcode 12 beta 2 上运行

标签: iosuitabbarcontrolleruisplitviewcontrollerios14xcode12

解决方案


几周前,我在反馈助手中向苹果公司报告了这一点,“解决方案”,没有任何额外的评论,是这是预期的行为。根据一些 WWDC20 视频中的评论,我只能猜测这是他们让尽可能多的应用程序使用侧边栏而不是标签栏进行根导航的方式。

要在 iOS 14 上解决此问题,您可以:

  • 更改您的 UI 以使用侧边栏而不是标签栏,或者

  • 继续使用“经典”(即 iOS 14 之前的)拆分视图而不是新的“基于列”的拆分视图,这是通过使用除init(style:). 当然,这意味着您将无法使用任何新的拆分视图 API。


推荐阅读