UINavigationBar隱藏問(wèn)題

由于項(xiàng)目中使用FDFullscreenPopGesture框架,實(shí)現(xiàn)滑動(dòng)返回功能。
在需要隱藏導(dǎo)航欄的控制器viewWillAppear方法中使用下面代碼隱藏導(dǎo)航欄會(huì)出現(xiàn)問(wèn)題

[self.navigationController setNavigationBarHidden:YES animated:NO];

從有NavigationBar到無(wú)NavigationBar,手勢(shì)返回的時(shí)候,有NavigationBar的控制器導(dǎo)航欄會(huì)變成白色,或者消失不見(jiàn)了;
于是加上動(dòng)畫(huà)效果,問(wèn)題解決,但頁(yè)面會(huì)有明顯上移的動(dòng)畫(huà)

[self.navigationController setNavigationBarHidden:YES animated:YES];

解決辦法:使用FDFullscreenPopGesture框架的fd_interactivePopDisabled屬性設(shè)置,隱藏導(dǎo)航欄

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.fd_prefersNavigationBarHidden = NO;
}

并且如果是控制器作為導(dǎo)航控制器的根控制器,需要在viewWillAppear:和viewWillDisappear:方法里面添加對(duì)是否隱藏NavigationBar的判斷;

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(CGFLOAT_MIN * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
   UIViewController *vc = [self.navigationController.viewControllers lastObject];
   if (vc.fd_prefersNavigationBarHidden) {
       [self.navigationController setNavigationBarHidden:YES animated:NO];
   } else {
       [self.navigationController setNavigationBarHidden:NO animated:NO];
   }
});

這樣可以實(shí)現(xiàn)無(wú)NavigationBar控制器沒(méi)有上移動(dòng)畫(huà),并且從有NavigationBar到無(wú)NavigationBar正常滑動(dòng)返回的功能。

參考文章:
http://www.itdecent.cn/p/bbc2305d83e2

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一 窗外,天灰蒙蒙一片,綿綿細(xì)雨像一張網(wǎng)包裹著大地,輕柔的撫摸著萬(wàn)物。天氣預(yù)報(bào)說(shuō)本周會(huì)一直下雨,清明時(shí)節(jié),天...
    米子迪閱讀 636評(píng)論 0 9
  • 做了老師要求的mouse nose. 拼讀訓(xùn)練
    阿迪_2135閱讀 223評(píng)論 0 0
  • 王者榮耀注冊(cè)玩家超過(guò)2億,也就難怪游戲中會(huì)出現(xiàn)各種討厭的噴子了,技術(shù)心態(tài)都不行,以下就是它們的一些顯著的特征,你絕...
    emotion者閱讀 295評(píng)論 0 0
  • 近段時(shí)間著實(shí)很累, 不管是因?yàn)樽约旱氖拢?生活的事, 工作的事, 一下子感覺(jué)到自己已經(jīng)累上天了, 但,累并快樂(lè)著。...
    葉小胖閱讀 771評(píng)論 1 2
  • 應(yīng)該是游泳累的吧 快遞到了 早上沒(méi)做啥 下午睡覺(jué) 天氣太熱沒(méi)去禪修 那么近也沒(méi)去 將來(lái)應(yīng)該也不會(huì)去了吧 聽(tīng)了友鄰課...
    角落蜷縮閱讀 120評(píng)論 0 0

友情鏈接更多精彩內(nèi)容