天天看點

iOS 完美解決導航欄在頁面切換時隐藏與顯示的動畫

最近項目有需求需要在切換到二級頁面的時候隐藏導航欄,從二級頁面切換到三級頁面需要顯示導航欄,發現

        [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];

    }

}

完美解決導航欄切換時閃的問題