2016-03-01 124 views
1

我需要隐藏标签栏上的按钮,但仍然可以根据需要通过代码访问它。我知道我可以完全删除按钮,但我无法再访问该视图。隐藏(而不是删除)UITabBarController UITabBarItem

所以在我的情况下,我希望我的主屏幕在应用第一次加载时可见,但不希望该选项卡显示出来。如果他们离开那个屏幕,我会在顶部的导航栏中添加一个自定义的“主页”按钮。

但是,如果我删除标签栏项目,我不再去主屏幕了,而是原来的第二个标签。有没有办法只有隐藏标签栏项目,仍然访问它的代码?

所以你可以看到我如何访问标签栏开始,这里是我如何删除标签栏项目。

UITabBarController *tabVC = (UITabBarController *)self.window.rootViewController; 

NSMutableArray *tabBarViewControllers = [NSMutableArray arrayWithArray:[tabVC viewControllers]]; 
[tabBarViewControllers removeObjectAtIndex:0]; 
[tabVC setViewControllers:tabBarViewControllers]; 

//or to just disable it 

NSArray *tbItems = tabVC.tabBar.items; 
UITabBarItem *item_0 = [tbItems objectAtIndex:0]; 
[item_0 setEnabled:NO]; 

回答