最近项目有需求需要在切换到二级页面的时候隐藏导航栏,从二级页面切换到三级页面需要显示导航栏,发现
完美解决导航栏切换时闪的问题
[self.navigationController setNavigationBarHidden:YES animated:YES];
使用该方法可行,但是在页面切换的时候导航栏会闪一下,比较ugly,最终发现该方法的animated参数会产生影响,故添加了一个firstIn参数来判断是否是第一次进入,代码如下
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
if (self.firstIn) {
self.firstIn = NO;
[self.navigationController setNavigationBarHidden:YES animated:NO];
} else {
[self.navigationController setNavigationBarHidden:YES animated:YES];
}
}