试了很多,如果单纯的显示与隐藏就会出现frame的设置问题
最后还是选择了
controller.hidesBottomBarWhenPushed = YES;
这样就存在一个问题,很多人发现推到下一个界面,tabbar是隐藏掉了,但是再POP回来的时候,tabbar却没有显示。是怎么回事呢。其实很简单
上面的controller要用你要推的那个界面,而不是self。这样操作的话,只需要在推之前加上就可以隐藏了。而pop的时候不需要再特意加显示操作。
举个例子:
vc1推vc2。vc2中要隐藏tabbar。
只需要在vc1中加如下代码
vc2.hidesBottomBarWhenPushed = YES;
vc1 pushviewcontroller:vc2 .......
需要注意的是,要在推之前加这句,否则还是不会变