双击UITabBarController选项卡转到导航控制器的根目录

时间:2011-01-31 21:12:00

标签: iphone ios uinavigationcontroller uitabbarcontroller

我有一个带有2个UINavigationControllers的UITabBarController设置。

一个UINavigationController有一个UIViewController,另一个UINavigationController有两个UIViewControllers。然后,如果您导航到第二个UIViewController并单击已选中的选项卡,它会将您带到UINavigationController的根目录(这将是第一个UIViewController)。

有没有办法阻止这种情况发生?我不希望用户能够单击已选择的选项卡以转到导航控制器的根目录。

1 个答案:

答案 0 :(得分:18)

为此,您需要在app delegate中实现一个函数来获取tabbar委托调用。

在app delegate.m文件中,在didfinishlaunching方法中添加此行

[tabBarController setDelegate:self];

然后实现此方法(也在您的app委托中):

- (BOOL)tabBarController:(UITabBarController *)theTabBarController shouldSelectViewController:(UIViewController *)viewController
{
  return (theTabBarController.selectedViewController != viewController);
}

这将作为选项卡委托协议的一部分进行调用,如果选项卡已经选中,则将停止选择选项卡。

希望有所帮助。