- 問題還原
公司項(xiàng)目中首頁(yè)需要自定義一個(gè)導(dǎo)航欄,我的做法是在首頁(yè)viewWillAppear中寫上self.navigationController.navigationBarHidden = YES,在從首頁(yè)推到的二級(jí)頁(yè)的viewWillAppear中寫上self.navigationController.navigationBarHidden = NO。那么問題來了,第一個(gè)問題是在二級(jí)頁(yè)通過右劃手勢(shì)退回上一頁(yè)的時(shí)候系統(tǒng)導(dǎo)航欄立馬消失,和頁(yè)面消失不同步,如圖所示:
1.png
而正常的效果應(yīng)該是這樣的:

4.png
第二個(gè)問題是,當(dāng)右劃返回到一半時(shí)取消,再?gòu)亩?jí)頁(yè)推到下一個(gè)頁(yè)面時(shí),第三個(gè)頁(yè)面的導(dǎo)航欄會(huì)消失,進(jìn)而顯示二級(jí)頁(yè)的導(dǎo)航欄。
- 解決辦法
把首頁(yè)的self.navigationController.navigationBarHidden = YES方法替換為[self.navigationController setNavigationBarHidden:YES animated:YES],兩個(gè)問題都得以解決。至于用self.navigationController.navigationBarHidden = YES時(shí)為什么會(huì)導(dǎo)致這兩個(gè)問題,還不是很清楚,希望有明白的大神不吝賜教。
