在选项卡栏控制器中隐藏当前视图控制器的选项卡
Hide tab for current view controller in tab bar controller
我只是想知道如何隐藏 Tab Bar Controller
中选中的当前视图控制器的选项卡项
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;
}];
首先,我认为不可能隐藏 UITabBarItem
- 它继承自 UIBarItem
但没有 hidden
属性 - UIBarItem Documentation
您可以尝试将标签栏 selectedViewController
属性 与您当前的视图控制器进行比较吗? - 像下面这样的东西可能会起作用..
if (self.tabBarController.selectedViewController == self) {
// Do Stuff
}
但即便如此,我认为您还是会发现很难隐藏标签栏项目本身。
从 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
希望这对你有帮助。!!
我只是想知道如何隐藏 Tab Bar Controller
中选中的当前视图控制器的选项卡项
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;
}];
首先,我认为不可能隐藏 UITabBarItem
- 它继承自 UIBarItem
但没有 hidden
属性 - UIBarItem Documentation
您可以尝试将标签栏 selectedViewController
属性 与您当前的视图控制器进行比较吗? - 像下面这样的东西可能会起作用..
if (self.tabBarController.selectedViewController == self) {
// Do Stuff
}
但即便如此,我认为您还是会发现很难隐藏标签栏项目本身。
从 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 希望这对你有帮助。!!