这个问题已经被问了很多,并且有很多答案,但我找到的答案都没有回答如下:
我有一个UITabBarController
我想隐藏标签栏,所以我打电话给:
self.tabBarController.tabBar.hidden = YES
这将删除栏,但现在有一个空黑框,其中标签栏用于驻留.我已经尝试调整当前正在呈现的ViewController的框架,它始终位于标签栏左侧的黑框后面.
我还遍历所有子视图并隐藏它们,没有运气.
最后,我尝试调整tabbar框架的大小,但这也不起作用
有人有运气吗?
也:
hidesBottomBarWhenPushed不起作用,因为该应用程序不是基于UINavigationViewController,而是基于UITabBarController.
这是一款iPad应用
解决方法
我有同样的问题.这是我如何隐藏标签栏:
[self.tabBar removeFromSuperview]; UIView *contentView; if ([[self.view.subviews objectAtIndex:0] isKindOfClass:[UITabBar class]]) { contentView = [self.view.subviews objectAtIndex:1]; } else { contentView = [self.view.subviews objectAtIndex:0]; } contentView.frame = self.view.bounds;
这是从tabBarController调用的(我有子类),但它确实删除了tabBar并调整了视图的大小以摆脱你现在看到的那个黑条.如果您没有子类tabBarController,我相信您可以将self的所有实例更改为self.tabBarController,它应该可以正常工作.
我希望这有帮助