關(guān)于navgationBar.hidden

首先navgationBar 是這個(gè)東西

image.png

如果使用下邊的代碼隱藏NavgationBar

// 隱藏控制器的navBar
self.navgationController.navgationBar.hidden = YES;

不能及時(shí)的隱藏navBar,并出現(xiàn)了兩個(gè)問(wèn)題:

1. navgationBar隱藏不及時(shí),出現(xiàn)布局問(wèn)題

1)用下邊的參數(shù)布局,會(huì)出現(xiàn)tableView頂?shù)筋^,被navBar蓋住的情況

// 顯示navBar
self.navgationController.navgationBar.hidden = NO;
// 設(shè)置表格frame
[self.tableView setFrame:CGRectMake(0, 0, 375, 200)];
[self.tableView addSubViews:_tableView];

2)用下邊的參數(shù)布局,一直在當(dāng)前頁(yè)面,直觀看,沒(méi)有任何問(wèn)題,但是?。?!關(guān)鍵是但是!如果你在當(dāng)前頁(yè)面,push到下個(gè)頁(yè)面,在pop回來(lái)的時(shí)候,你會(huì)發(fā)現(xiàn),tableView和navBar 中間隔了64 的空白,很二逼的樣子

// 顯示navBar
self.navgationController.navgationBar.hidden = NO;
// 設(shè)置表格frame
[self.tableView setFrame:CGRectMake(0, 64, 375, 200)];
[self.tableView addSubViews:_tableView];

以上兩種問(wèn)題,我懷疑是navBarf出現(xiàn)不及時(shí),設(shè)置frame的時(shí)候,布局會(huì)出錯(cuò)

2.navgationBar 混亂問(wèn)題

當(dāng)視圖出現(xiàn)的時(shí)候,隱藏navBar,消失的時(shí)候顯示navBar,這樣如果正常push到下一個(gè)視圖控制器,在正常的pop回本視圖控制器,沒(méi)有什么問(wèn)題,但是,蘋果有個(gè)側(cè)滑pop視圖控制器的特點(diǎn),當(dāng)你不松手,來(lái)回側(cè)滑,就可能出現(xiàn)本控制器的navgationBar,顯示在二級(jí)控制器的頁(yè)面,或者二級(jí)控制器的navgationBar出現(xiàn)在本控制器的頁(yè)面

-(void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    //視圖將要出現(xiàn)的時(shí)候隱藏Bar
    self.navgatrionController.navgationBar.hidden = YES;
}

-(void)viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];
    //視圖將要消失的時(shí)候展現(xiàn)Bar
    self.navgationController.navgationBar.hidden = NO;
}

解決辦法

用下面的方法設(shè)置navgationBar,所有上述問(wèn)題,就解決了

//顯示navgationBar
[self.navigationController setNavigationBarHidden:NO animated:YES];
//隱藏navgationBar
[self.navigationController setNavigationBarHidden:YES animated:YES];

原因分析

到底為什么會(huì)出現(xiàn)上述情況呢?

navigationBar.hidden是對(duì)一個(gè)對(duì)象進(jìn)行隱藏,而navigationBarHidden是navigationController 的一個(gè)屬性,會(huì)隱藏整個(gè)navigationController

waring?。。?!

兩種方法都會(huì)隱藏navigationBar,但是使用第二種setNavigationBarHidden方法,滑動(dòng)的pop操作,就不能用了

有問(wèn)題,請(qǐng)留言~~~

最后編輯于
?著作權(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)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • (做實(shí)體店,一夜之間你的鄰居變成你的同行,你該怎么辦?) 離我的水果店不足二十米的地方,有一家雙匯連鎖店,本來(lái)店里...
    張嘉賓閱讀 205評(píng)論 2 2
  • 吉吉打卡群本輪推出一個(gè)集體項(xiàng)目:「專訪」。要求找一位你感興趣的伙伴,做個(gè)小小采訪,可以根據(jù)他的打卡內(nèi)容,或其它你八...
    宇楓Sai閱讀 715評(píng)論 0 1
  • 原圖 不開心,畫個(gè)草莓開心一下。 原因? 花了1小時(shí)刷網(wǎng)頁(yè),內(nèi)疚。 就這么簡(jiǎn)單。 ( ̄ε(# ̄)╰╮o( ̄ ̄///)
    左手邊的檸檬糖閱讀 287評(píng)論 1 1
  • 第一次 當(dāng)你看著我 我沒(méi)有開口 已被你猜透 還是沒(méi)把握 還是沒(méi)有符合你的要求 是我自己想得太多 還是你也在閃躲 如...
    莞毓閱讀 209評(píng)論 0 0

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