一个的UITabBarController的默认行为是弹出所包含的UINavigationController到根视图控制器当特定标签被点击第二次.我有一个特殊的用例,我希望它不能自动工作,而我很难弄清楚如何防止这种情况.
有没有人碰到这个,如果有的话,你做了什么?我是否需要子类化UINavigationController并覆盖popToRootViewController或者是否有更简单的方法?
我有一个基于标签栏的应用程序.所有选项卡都有一个导航控制器作为根.如果用户在选项卡处于活动状态时再次点击选项卡,则会弹回导航控制器.
我怎么能阻止这种行为?
这是一些更新:
所以实际上我有一个导航控制器+一个隐藏的视图控制器,可以做出一些决定+另一个视图控制器.对于原始问题中的误导性信息,我们深表歉意.我使用隐藏的viewcontroller用于所有标签,其中3个,因为如果用户没有登录,我在所有3个登录屏幕上.如果用户登录,则弹出登录屏幕,然后放入1,2 ,每个选项卡上有3个单独的viewcontrollers.
首先点击:
0 : class=Crossing: 0x645c8a0>
1 : class=FavoritesViewController: 0x64ac140>
shouldSelectViewController : UINavigationController
UINavigationController topclass:FavoritesViewController
myTabBarController.selectedViewController :UINavigationController
did disappear
didSelectViewController : UINavigationController
UINavigationController topclass:FavoritesViewController
Run Code Online (Sandbox Code Playgroud)
第二次点击:
0 : class=Crossing: 0x645c8a0>
1 : class=FavoritesViewController: 0x64ac140>
shouldSelectViewController : UINavigationController
UINavigationController topclass:FavoritesViewController
myTabBarController.selectedViewController :UINavigationController
didSelectViewController : UINavigationController
UINavigationController topclass:Crossing
Run Code Online (Sandbox Code Playgroud)