在iOS中腌闯,一個(gè)模塊一般是共用一套導(dǎo)航欄煌寇,
而在側(cè)滑返回時(shí)楚堤,導(dǎo)航欄是固定不動(dòng)的,只有控制器的頁(yè)面會(huì)跟隨手勢(shì)移動(dòng)而移動(dòng)塔粒, 因此開(kāi)發(fā)中會(huì)出現(xiàn)一些坑
場(chǎng)景1:
首頁(yè)控制器(假設(shè)為Home控制器)導(dǎo)航欄隱藏结借,進(jìn)入下一個(gè)控制器(假設(shè)為B )時(shí)顯示
此時(shí),從B
側(cè)滑返回Home
時(shí)會(huì)有問(wèn)題
如果Home
的隱藏寫(xiě)在viewWillAppear
和viewWillDisappear
里面, 那從B
返回Home
時(shí)卒茬,會(huì)先觸發(fā)Home
的viewWillAppear
方法船老,側(cè)滑還在B
頁(yè)面時(shí),導(dǎo)航欄就會(huì)隱藏
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
self.navigationController.navigationBarHidden = YES;
NSLog(@"%s",__func__);
}
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
self.navigationController.navigationBarHidden = NO;
NSLog(@"%s",__func__);
}
從圖中可以看到圃酵,側(cè)滑時(shí)導(dǎo)航欄會(huì)提前隱藏
translucent=NO
translucent=NO.gif
translucent=YES
test11102.gif
解決方式: https://github.com/iOSRG/RGNavigationController
喜歡的給個(gè)star吧