拆分视图控制器导航栏问题
Split view controller navigation bar question
背景:
我有一个 UISplitViewController
显示 UITabBarController
作为其详细视图 (.secondary
)。 UITabBarController
显示 UIViewController
嵌入 UINavigationController
。
剧情变厚了:
在 iPad(不是 .compact
)上,效果很好。 UINavigationController
的 UINavigationBar
显示为没有来自 UISplitViewController
的推送转场,因为视图是 .tiled
.
但是,在 iPhone(.compact 环境)上,这会出现问题。当 showDetailViewController:
被调用时,UISplitViewController
推动 UITabBarController
,这导致 second 冗余 UINavigationBar
带有“返回” UIBarButtonItem
代表 UISplitViewController
的 UINavigationBar
,然后正下方是 UINavigationController
的 UINavigationBar
。
这是我试过的方法:
从层次结构中删除 UINavigationController
修复了 iPhone(或 .compact
环境)的问题,但引入了 iPad 的问题(不是 .compact
): 根本没有显示 UISplitViewController
中的 UINavigationBar
。
有直接的solution/protocol吗?我觉得好像这是一个很常见的情况,我不确定如何前进。
问题:
重申一下,目标是在 iPhone(.compact
)和 iPad(不是 .compact
)上显示一个 UINavigationBar 以获取详细信息(.secondary
) 我的 UISplitViewController
.
视图
对于遇到类似问题的任何其他人(因为我在本网站上发现的任何类似问题都没有得到解答),解决方案是将 UITabBarController
嵌入 UINavigationController
。
UISplitViewController
发现它正在推动 UINavigationController
,并合并 UINavigationBar
。在我最初的设置中,UITabBarController
充当屏障并阻止 UINavigationBar
合并。
背景:
我有一个 UISplitViewController
显示 UITabBarController
作为其详细视图 (.secondary
)。 UITabBarController
显示 UIViewController
嵌入 UINavigationController
。
剧情变厚了:
在 iPad(不是 .compact
)上,效果很好。 UINavigationController
的 UINavigationBar
显示为没有来自 UISplitViewController
的推送转场,因为视图是 .tiled
.
但是,在 iPhone(.compact 环境)上,这会出现问题。当 showDetailViewController:
被调用时,UISplitViewController
推动 UITabBarController
,这导致 second 冗余 UINavigationBar
带有“返回” UIBarButtonItem
代表 UISplitViewController
的 UINavigationBar
,然后正下方是 UINavigationController
的 UINavigationBar
。
这是我试过的方法:
从层次结构中删除 UINavigationController
修复了 iPhone(或 .compact
环境)的问题,但引入了 iPad 的问题(不是 .compact
): 根本没有显示 UISplitViewController
中的 UINavigationBar
。
有直接的solution/protocol吗?我觉得好像这是一个很常见的情况,我不确定如何前进。
问题:
重申一下,目标是在 iPhone(.compact
)和 iPad(不是 .compact
)上显示一个 UINavigationBar 以获取详细信息(.secondary
) 我的 UISplitViewController
.
对于遇到类似问题的任何其他人(因为我在本网站上发现的任何类似问题都没有得到解答),解决方案是将 UITabBarController
嵌入 UINavigationController
。
UISplitViewController
发现它正在推动 UINavigationController
,并合并 UINavigationBar
。在我最初的设置中,UITabBarController
充当屏障并阻止 UINavigationBar
合并。