【发布时间】:2021-09-30 15:29:19
【问题描述】:
背景:
我有一个 UISplitViewController 显示 UITabBarController 作为其详细视图 (.secondary)。 UITabBarController 显示嵌入在 UINavigationController 中的 UIViewController。
情节变厚:
在 iPad 上(不是.compact),这很好用。显示UINavigationController 的UINavigationBar 是因为没有来自UISplitViewController 的推送segue,因为视图是.tiled。
但是,在 iPhone(.compact 环境)上,这会带来问题。当showDetailViewController: 被调用时,UISplitViewController 会推送UITabBarController,这会导致UINavigationBar 出现秒 冗余,而UISplitViewController 的“返回”UIBarButtonItem UINavigationBar,然后在它的正下方是UINavigationController 的UINavigationBar。
这是我尝试过的:
从层次结构中删除 UINavigationController 解决了 iPhone(或 .compact 环境)上的问题,但在 iPad 上引入了一个问题(不是 .compact):根本没有显示来自 UISplitViewController 的 UINavigationBar .
对此有直接的解决方案/协议吗?我觉得好像这是一个很常见的情况,我不确定如何继续前进。
问题:
重申一下,目标是让一个 UINavigationBar 在 iPhone (.compact) 和 iPad(不是 .compact)上显示我的UISplitViewController 的详细视图 (.secondary)。
【问题讨论】:
标签: ios swift uinavigationcontroller uitabbarcontroller uisplitviewcontroller