iOS 隱藏導(dǎo)航欄UINavigationBar黑線

要解決問題,首先要知道問題發(fā)生在哪里,這個問題是當(dāng)初剛工作在項目過階段評審的時候被設(shè)計提出來的,他說你看這導(dǎo)航欄下面怎么會有一像素的黑線,當(dāng)時真的是愣住了,甚至認(rèn)為這是一個蘋果的bug?,F(xiàn)在想想真的好幼稚。

首先我們看一下蘋果官方給出的解釋:


2E04731A-B0C8-4341-9B1D-D8FBB09B6484.png

現(xiàn)在讓我這個英語半吊子來翻譯一下,他的意思就是說如果你不調(diào)用這個方法設(shè)置一張背景圖片的話,那我就給你默認(rèn)一張,然后同時還有一張陰影圖片被默認(rèn)設(shè)置上去,好吧,這就是導(dǎo)航欄上1px黑線的由來,沒錯,就是這個蘋果贈送的shadowImage。


B6D352EE-F0C8-402C-B797-23405F232869.png

相信看到這個解釋即使不繼續(xù)說下去有些同學(xué)也知道解決辦法了吧,沒錯嘛,你就用上面說的那個方法,給設(shè)置一張背景圖片,然后在設(shè)置一張shadowImage就可以了,就像這樣:

[[UINavigationBar appearance]  setBackgroundImage:[[UIImage alloc] init] forBarPosition:UIBarPositionAny barMetrics:UIBarMetricsDefault];
[[UINavigationBar appearance] setShadowImage:[[UIImage alloc] init]]; 

為了一勞永逸,我把他寫在AppDelegate里面了。

下一個解決辦法,將UINavigationBar的clipsToBounds屬性設(shè)成YES就好啦,從此黑線去無蹤。

最后一個辦法,就是循環(huán)遍歷一下UINavigationBar的所有子視圖,發(fā)現(xiàn)有UIImageView類型的視圖就remove掉,或者設(shè)成隱藏狀態(tài)(hidden)。雖然也能達(dá)到想要的效果,但是感覺這個方法太暴力了,不是很推薦。

差不多就是這些了,應(yīng)該總有一款是適合你的。還是想再說一下,遇到問題不要搜到答案就感覺萬事大吉了,一定要弄清楚到底哪里出了問題。

感謝前進(jìn)的路上一直有你們,簡書上有愛的你們。

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

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

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,692評論 4 61
  • 戚澤明,如何用講故事的思維設(shè)計一場演講 故事一:女孩想賺錢,聽了一個玩游戲的人的故事,通過作弊獲得最厲害的武器,但...
    魅力船長閱讀 468評論 0 0
  • 已是半夜,沈仟才從公司大樓里走出來,此時街上早無一人,她得穿過專諸巷,那條小吃街和一個大馬路才能到家。 肚子開始咕...
    杏遠(yuǎn)來閱讀 817評論 0 2
  • 2016-09-22 自從公司搬到了云中心,周邊人少,空氣少,還少有人管。有生活熱情的老板還在樓頂鋪了木板臺,設(shè)置...
    小白大靜閱讀 413評論 2 0

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