隐藏tabBar中的项目?

时间:2014-01-14 05:29:39

标签: uitabbarcontroller

我目前有许多viewControllers与我的tabBarController通过Storyboard有关系。鉴于某些设置,我想以编程方式使某个viewController隐藏或可见。我可以隐藏整个tabBar,但那不是我追求的。我一直在玩Xcode和淘网,但找不到解决方案。下面的一些东西对我来说不起作用!

[[self.tabBarController.tabBar.items objectAtIndex:2] setHidden:YES];

3 个答案:

答案 0 :(得分:9)

使用类似的代码来解决问题。

NSMutableArray *newTabs = [NSMutableArray arrayWithArray:self.tabBarController.viewControllers];
[newTabs removeObjectAtIndex: 3];
[newTabs removeObjectAtIndex: 2];
[self.tabBarController setViewControllers:newTabs];

答案 1 :(得分:2)

事实证明你可以在一行中完成:

tabBarController?.viewControllers?.remove(at: 1)

假设1是您要删除的项目的索引。

答案 2 :(得分:0)

要更改UITabBar,请将其items属性设置为新的

UITabBar *tabBar = self.tabBarController.tabBar;
NSMutableArray *newTabs = [NSMutableArray arrayWithArray:tabBar.items];
[newTabs removeObjectAtIndex: 2];
tabBar.items = newTabs;