禁用IOS11中的标签项目(故事板)

时间:2017-10-24 10:12:46

标签: ios objective-c ios11

我在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我也可以点击其他标签..    有什么问题?

先谢谢

1 个答案:

答案 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];