在开发中会遇到这种情景: A控制器需要隐藏导航栏 B控制器不需要隐藏导航栏,然而设置隐藏A控制器的导航栏会造成返回的动画效果很突兀,
解决方法:
在需要隐藏导航栏控制器设置如下代码
- (void)viewWillAppear:(BOOL)animated
{
[self.navigationController setNavigationBarHidden:YES animated:animated];
[super viewWillAppear:animated];
}
- (void)viewWillDisappear:(BOOL)animated
{
[self.navigationController setNavigationBarHidden:NO animated:animated];
[super viewWillDisappear:animated];
}
1.setNavigationBarHidden:YES/NO 是防止切换突兀 这个大家都知道
2.animated:animated 设置了1的代码,在切换tabbar的情况下会发生向上跳动的情况,这个时候需要靠这句代码来解决,并且放在调用super之前会比较好