不应基于权限ios加载选项卡项



我试图加载一个具有多个视图的选项卡,但我希望只有在用户有权限的情况下才能打开几个选项卡。是否有任何代理调用可以处理此问题?我在tabardelegate中查看了它只有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];
}

最新更新