您好,登錄后才能下訂單哦!
我們知道除了iPhoneX以外的設(shè)備導(dǎo)航欄默認(rèn)高度都是20,當(dāng)然蘋果也為我們提供了計算狀態(tài)欄frame的方法:
[[UIApplication sharedApplication] statusBarFrame];
這個方法在正常情況下返回的狀態(tài)欄高度也是20,但當(dāng)正在通話時,或者后臺有APP正在使用定位功能時,頂部會出現(xiàn)兩種提示條:
正在通話.png
后臺有APP使用定位.jpeg
當(dāng)頂部有這兩種提示條出現(xiàn)時,上面的statusBarFrame方法返回的狀態(tài)欄高度就變成了40,在手動更改頂部約束的時候就會出現(xiàn)問題,最后沒找到解決方法,只能手動改回20,感覺是有那么點(diǎn)low。
if (iPhoneX) {//x上不做任何改變 return rectStatus.size.height + rectNav.size.height; } else { if (rectStatus.size.height == 40) {//頂部有導(dǎo)航或者電話條時,狀態(tài)欄高度系統(tǒng)方法計算錯誤,手動置為20 CGFloat fStatusBarHeight = 20; return fStatusBarHeight + rectNav.size.height; } else { return rectStatus.size.height + rectNav.size.height; } }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。