我在Storyboard Control中使用TabController。用户登录到aPP后,TABController将加载5 TAB。
使用时单击选项卡1上的按钮,我想禁用其余4个选项卡。不应该有任何用户与另外4个TAB的互动。
下面的是简单的代码,但它不会禁用其他4个选项卡:
-(void)tab_Dis:(Bool)bOpen
{
UITabBarController *about_vc = (UITabBarController*)[[UIStoryboard storyboardWithName:@"NexTabBar" bundle:[NSBundle mainBundle]] instantiateViewControllerWithIdentifier:@"ID_TABBAR"];
UITabBar *tabBar = about_vc.tabBar;
if(bOpen)
{
[[tabBar.items objectAtIndex:0] setEnabled:FALSE];
[[tabBar.items objectAtIndex:2] setEnabled:FALSE];
[[tabBar.items objectAtIndex:3] setEnabled:FALSE];
[[tabBar.items objectAtIndex:4] setEnabled:FALSE];
}
else
{
[[tabBar.items objectAtIndex:0] setEnabled:TRUE];
[[tabBar.items objectAtIndex:2] setEnabled:TRUE];
[[tabBar.items objectAtIndex:3] setEnabled:TRUE];
[[tabBar.items objectAtIndex:4] setEnabled:TRUE];
}
}
但即使setEnabled为FALSE我也可以点击其他标签.. 有什么问题?
先谢谢
答案 0 :(得分:0)
我发现,下面的代码工作正常:
[[[[self.tabBarController tabBar] items] objectAtIndex:0] setEnabled:FALSE];
[[[[self.tabBarController tabBar] items] objectAtIndex:2] setEnabled:FALSE];
[[[[self.tabBarController tabBar] items] objectAtIndex:3] setEnabled:FALSE];
[[[[self.tabBarController tabBar] items] objectAtIndex:4] setEnabled:FALSE];