当UISplitViewController折叠时显示Detail ViewController时,如何隐藏UITabBar?

Ste*_*fan 5 cocoa-touch objective-c uitabbarcontroller uikit uisplitviewcontroller

我有一个带有UITabBarController作为rootViewController的窗口。UITabBarController有两个子代:UINavigationController和UISplitViewController(根据最新文档,这应该可以,并且除以下问题外,它可以正常工作)。

UINavigationController和UISplitViewController都显示了MyMasterTableViewController,它可以推送MyDetailViewController的实例。MyDetailViewController具有self.hidesBottomBarWhenPushed = YES,以使TabBar在推送时消失。

当我将MyDetailViewController推入UINavigationController时,UITabBar会按预期消失。当我在折叠状态下在UISplitViewController上显示MyDetailViewController时,我会期望得到相同的效果,因为折叠后的UISplitViewController仅包含带有Master的UINavigationController,该Master会推动Detail ViewController。但是事实并非如此。

如何让折叠的UISplitViewController像显示UINavigationController一样,在显示MyDetailViewController时隐藏UITabBar?

小智 1

不幸的是,在 UITabBarController 内使用 UISplitViewController 时,您无法利用推送时隐藏底部栏。您可以覆盖 UITabBarController viewControllers,并且仅对于 iPhone,指向情节提要中的 MasterViewController 的 UINavigationController。您可以在此处隐藏推送时的底部栏。由于某种原因,UISplitViewController 不尊重推送上的标志,可能是出于 iPad 的目的。在此输入图像描述