iOS Swift適配高度-劉海屏頂部和底部非安全區(qū)高度

說明:heightOfAddtionalHeader為劉海屏多出來的高度,這個(gè)高度相比于非iPhoneX以及以后的設(shè)備來說多出來的部分.??


頂部和底部額外區(qū)域的定義


整體代碼

狀態(tài)欄高度:

- 對于非iPhoneX設(shè)備來說,高度為20.0,

- 對于iPhoneX以及以后的設(shè)備高度為44.0; 即為20.0 + heightOfAddtionalHeader(24.0);

所以我們只需要在代碼上需要考慮頂部導(dǎo)航欄的高度的地方加上如下代碼,那么代碼會自動計(jì)算導(dǎo)航欄高度;

//劉海屏額外的高度

let?heightOfAddtionalHeader:CGFloat= {

? ? if UIDevice.current.isiPhoneXorLater(){

? ? ? ? ? ? return?24.0

? ? }else{

? ? ? ? return?0.0

? ? }

}()

導(dǎo)航欄底部:

- 對于非iPhoneX設(shè)備來說,高度為0.0,

- 對于iPhoneX以及以后的設(shè)備高度為34.0 ; 即為0.0 + heightOfAddtionalFooter(34.0);

所以我們只需要在代碼上需要考慮頂部導(dǎo)航欄的高度的地方加上如下代碼,那么代碼會自動計(jì)算導(dǎo)航欄高度;

//底部非安全區(qū)域高度

let?heightOfAddtionalFooter:CGFloat= {

?if?UIDevice.current.isiPhoneXorLater(){

?return?34.0

}else{

?return?0.0

? ? }

}()


extension?UIDevice{

//判斷設(shè)備是不是iPhoneX以及以上

?publicfuncisiPhoneXorLater() ->Bool{

?let?screenHieght = UIScreen.main.nativeBounds.size.height

?if?screenHieght == 2436 || screenHieght == 1792 || screenHieght ==2688 || screenHieght ==1624{

?return?true

? ? ? ? }

?return?false

? ? }

}

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

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

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