iPhone Objective-C:单击带有导航控制器的选项卡时,禁用弹出堆栈

时间:2010-07-27 02:33:34

标签: iphone objective-c uinavigationcontroller uitabbarcontroller

假设我有一个带标签A的标签栏控制器.A有一个导航控制器,可以让我将新视图压入堆栈。现在,如果我点击标签栏上的A,A的堆栈中的所有元素都会弹出。

有没有一种很好的方法来禁用它?我有一系列与导航控制器一起显示的视图,用户输入不会因为手指滑动而丢失所有这些视图。

提前致谢,如果我的问题不清楚,请告诉我。

1 个答案:

答案 0 :(得分:2)

尝试为UITabBarController设置委托,并实现:

- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController

如果选择了相同的视图控制器,则返回NO。然后导航堆栈不应该改变。

请注意,只会针对iOS 3.0上已有的相同标签调用它,但此时我只会定位iOS 3.0 +。