假设我有一个带标签A的标签栏控制器.A有一个导航控制器,可以让我将新视图压入堆栈。现在,如果我点击标签栏上的A,A的堆栈中的所有元素都会弹出。
有没有一种很好的方法来禁用它?我有一系列与导航控制器一起显示的视图,用户输入不会因为手指滑动而丢失所有这些视图。
提前致谢,如果我的问题不清楚,请告诉我。
答案 0 :(得分:2)
尝试为UITabBarController设置委托,并实现:
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController
如果选择了相同的视图控制器,则返回NO。然后导航堆栈不应该改变。
请注意,只会针对iOS 3.0上已有的相同标签调用它,但此时我只会定位iOS 3.0 +。