项目中隐藏底部tabBa涉及到最多的情况大概是push和pop了。
例如:页面A push 到页面B,需隐藏tabBar,页面 B pop 回到A 让tabBar再出现。
现在有两种方法:(原理都一样,只是提供不同的写法而已)
方法一:
在页面B的viewWillAppear里写
self.tabBarController.tabBar.hidden = YES;
在页面A 的viewWillAppear里写
self.tabBarController.tabBar.hidden = NO;
注:不能在页面A的 viewDidLoad 方法里写这句代码,因为 viewDidLoad 方法只执行一次,pop回到A的时候,这里面的代码不走了
方法二:
在跳转的方法里写:
self.hidesBottomBarWhenPushed = YES;
UIViewController * vc = [[UIViewController alloc]init];
[self.navigationController pushViewController:vc animated:YES];
self.hidesBottomBarWhenPushed = NO;
这里有两句self.hidesBottomBarWhenPushed, 第一句的意思是:点击跳转按钮时隐藏掉 ,第二句的意思是:push成功后页面再出现(视觉效果和方法一一样,pop 回来再出现)
注:一个工程里只有一个tabBar,所以页面A隐藏,页面B也会隐藏,页面A出现,页面B也会出现。。所以才要在两个页面分别设置(例如方法一)