您的位置:首页 > 移动开发 > IOS开发

iOS界面跳转过程中导航栏和tabBar的隐藏与显示

2017-02-04 08:57 232 查看

一、当A页面要push到B页面,需要将B页面的导航栏隐藏时,我们只需要在A页面中重写以下两个方法:

override func viewWillAppear(animated: Bool) {

super.viewWillAppear(animated)
self.navigationController?.setNavigationBarHidden(true, animated: true)
}
override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated)
self.navigationController?.setNavigationBarHidden(false, animated: true)
}


注意:
self.navigationController?.navigationBarHidden = false
这样在隐藏了导航栏的控制器和没有隐藏导航栏的控制器之间切换时可能会使导航栏出现闪动的问题。用以上调用设置其隐藏的方法,就可以解决这个问题。

二、当我们从A页面push跳转到B页面需要隐藏tabBar时,在A页面写如下代码:

self.hidesBottomBarWhenPushed=YES;
BViewController *bvc=[[BViewController alloc]init];
[self.navigationController pushViewController:bvc animated:YES];
self.hidesBottomBarWhenPushed=NO;
//最后一句话,可以保证在back回到A时,tabBar会恢复正常显示
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: