最近項目有需求需要在切換到二級頁面的時候隐藏導航欄,從二級頁面切換到三級頁面需要顯示導航欄,發現
[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];
}
}
完美解決導航欄切換時閃的問題