我正在开发一个显示多个视图的 iPhone 应用程序,所有视图都通过选项卡栏项访问。但是,我需要向选项卡栏添加一个附加项目,它只是在 Safari 中启动一个 URL。
我通过向 TabBar 添加一个空的占位符视图并在单击此视图的 tabBarItem 时从 shouldSelectViewController 返回 FALSE 并同时启动 Safari 来完成此操作。
该代码是:
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController {
if([[viewController tabBarItem] title] == "Website"){
//... launch Safari
return FALSE;
} else {
return TRUE;
}
}
问题:如果 TabBar 有太多项目,并且此“Safari 启动”选项卡被推到“更多”导航控制器,我将失去拦截事件并阻止在单击时加载视图的能力。
任何建议的提示?