我正在尝试加载具有多个 View 的选项卡栏,但我希望仅在用户拥有权限时才打开几个选项卡。是否有任何委托(delegate)调用可以处理这个问题?我在 tabbardelegate 中查看,它只有 didSelectItem,与文本字段不同,文本字段有 bool 用于返回文本,所以我选择返回或不返回。
谢谢
最佳答案
您可以使用您讨论过的- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
。
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
if (item == 2 || item == 3) { //Tab 2 and 3 are protected
if (!userHasPermission) {
tabBar.selectedItem = 0; //Make user go to first tab if the user does not have permission.
}
}
}
或者如果您想禁用某些项目。在您的 -viewDidLoad
if (!userHasPermission) {
UITabBarItem *tabBarItem = [[myTabBar items] objectAtIndex:2];
[tabBarItem setEnabled:NO];
}
关于iphone - 不应根据 ios 权限加载选项卡栏项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12372480/