在 IOS11 中禁用标签项的(故事板)
Disable Tab Item's(Storyboard) in IOS11
我在故事板控件中使用 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,我也可以单击其他选项卡..
有什么问题?
提前致谢
我发现,下面的代码工作正常:
[[[[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];
我在故事板控件中使用 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,我也可以单击其他选项卡.. 有什么问题?
提前致谢
我发现,下面的代码工作正常:
[[[[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];