IOS tabbar隐藏后还是会留下一片空白地方,要怎样完全把他隐藏掉?

Ygwen
  • 474

我项目的结构是TabBarController>NavigationController>TableViewController

我在NavigationController里面设置了 self.hidesBottomBarWhenPushed = YES;
self.tabBarController.tabBar.hidden = YES;
然后TabBar是不显示了,但是他还是会占用一片控件
上图:图片描述

就最下面的那一块蓝色区域,我本意是想要设置这个页面刚好铺满屏幕,不能滚动的,可是现在下面多了一块TabBar的空间,导致整个页面可以向下滚动,请教下怎么去掉这块空间

回复
阅读 20.4k
5 个回答

这个蛋疼问题我也遇到过,我的临时解决方法是:self.tableview.contentInset = UIEdgeInsetsMake(0, 0, INSETHEIGHT, 0);往下面挤掉那个空白的部分。

madarax
  • 2
新手上路,请多包涵

注意是UIViewController调用hidesBottomBarWhenPushed而不是UINavigationController

testHs
  • 1.1k

我们在开发时采用的tabbar是RDVTabBarController
github地址robbdimitrov/RDVTabBarController
你的问题我没有遇到过,但是在stackoverflow上看到一个类似的问题,我贴上地址希望对你有帮助。
Hiding Tabbar still occupy Space?

yourInnerViewController.hidesBottomBarWhenPushed = YES;
[self.navigationController pushViewController:yourInnerViewController animated:YES];

self.hidesBottomBarWhenPushed = YES; 放viewController里边,其他大部分Controller没有push这个动作

joseph_zheng
  • 2
新手上路,请多包涵

楼上正解。
每当pushViewController的时候设置controller的hidesBottomBarWhenPushed属性

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏