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