我只是想知道如何隐藏Tab Bar Controller
中所选的当前视图控制器的标签项
答案 0 :(得分:3)
从controllersArray ex中删除目标索引。 (1)
NSMutableArray *controllersArray = [NSMutableArray arrayWithArray:self.tabBar.viewControllers];
[controllersArray removeObjectAtIndex: 1];
[self.tabBar setViewControllers:controllers animated:YES];
检查这个答案我也发现这个问题类似Hide tab bar item and aligning other tab items 希望这会对你有所帮助。!!
答案 1 :(得分:1)
首先,我认为隐藏UITabBarItem
是不可能的 - 它继承自UIBarItem
,但没有hidden
属性 - UIBarItem Documentation
您可以尝试将标签栏selectedViewController
属性与当前视图控制器进行比较吗? - 像下面这样的东西可能会起作用..
if (self.tabBarController.selectedViewController == self) {
// Do Stuff
}
但即便如此,我认为你会发现很难隐藏标签栏项本身。
答案 2 :(得分:0)
UIView *parent = self.tabBarController.tabBar.superview; // UILayoutContainerView
UIView *content = [parent.subviews objectAtIndex:0]; // UITransitionView
UIView *window = parent.superview;
[UIView animateWithDuration:0.2
animations:^{
CGRect tabFrame = self.tabBarController.tabBar.frame;
tabFrame.origin.y = CGRectGetMaxY(window.bounds);
self.tabBarController.tabBar.frame = tabFrame;
content.frame = window.bounds;
}];