iPhone X導(dǎo)航欄變矮了?navigationBar高度變了?答案是需要修改UINavigationBar+Awesome

Xcode 9 一出來,就想用最新的開發(fā)工具,公司網(wǎng)速還行,下載挺快的,沒多久就下載好了,帶著一點(diǎn)小激動(dòng)的心情打開了工程,結(jié)果。。。尼瑪


修改前效果:頂部導(dǎo)航欄navBar變矮了?

navigationBar白色背景怎么只有一半,下半部分變透明了,What the hell???
但是我在iPhone7上導(dǎo)航欄是沒問題的,iPhone7無論是10.2的系統(tǒng)還是11.0系統(tǒng),都正常啊。
對(duì)比一下iOS11.0下的iPhone7和iPhone X,頂部高度不一樣,恍然大悟,我頂部導(dǎo)航欄本來就是透明的背景,只不過當(dāng)初為了動(dòng)態(tài)修改UINavigationBar的背景色,所以按照http://www.cocoachina.com/ios/20150409/11505.html這篇文章寫了一個(gè)UINavigationBar的分類,實(shí)現(xiàn)了動(dòng)態(tài)修改UINavigationBar的背景色的功能。原理是這樣的:

  1. 首先[self setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
    [self setShadowImage:[UIImage new]];
    這樣設(shè)置的效果是背景透明了,底部陰影的線條也透明了,整個(gè)UINavigationBar的背景都是透明的
  2. 在UINavigationBar 上添加一個(gè)UIView(命名overlay)
  3. 修改overlay的背景顏色

UINavigationBar+Awesome分類通過上面的方式動(dòng)態(tài)修改UINavigationBar的背景色,這方案本身沒問題,問題是創(chuàng)建overlay時(shí)候,高度寫成了UINavigationBar高度加20pt,這就造成了overlay的高度為44+20的高度,而在iPhone X上對(duì)應(yīng)的應(yīng)該是88pt。
所以必須修改一下,不能寫成UINavigationBar高度+20pt,也不能直接固定寫64,而應(yīng)該這么寫:UINavigationBar高度+[UIApplication sharedApplication].statusBarFrame.size.height

現(xiàn)在看一下效果:

修改后效果
最后編輯于
?著作權(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)容

  • iOS中UIViewController對(duì)象如果通過push方式呈現(xiàn),是由UINavigationControll...
    BladeWayne閱讀 59,908評(píng)論 37 79
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,342評(píng)論 4 61
  • svn# spalsh界面的作用# 代碼包結(jié)構(gòu)劃分方式# spalsh界面搭建# (重點(diǎn)) 獲取版本號(hào)# (重點(diǎn))...
    SmNiuhe閱讀 1,547評(píng)論 0 1
  • 最近看了騰訊視頻中的一部電影《拆彈專家》,電影中的“豬腳”章在山(劉德華飾),香港警察爆炸處理科的一名高級(jí)督察,成...
    持續(xù)行動(dòng)派閱讀 331評(píng)論 0 0
  • “本文參加#青春不一YOUNG#征稿活動(dòng),本人承諾,文章內(nèi)容為原創(chuàng),且未在其他平臺(tái)發(fā)表過?!?一 閨蜜小娟打電話說...
    艾默兒閱讀 464評(píng)論 0 0

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