一:非X機型顯示正常如圖1的自定義導航欄,在iPhone X中,自定義導航欄出現如下圖2所示的顯示問題
圖1
圖2
首先自定義導航欄高度應該由64改為88,然后導航欄中控件的垂直位置設置為make.centerY.mas_equalTo(0).offset(iPhoneX ? 22 : 10);
二:帶背景顏色自定義bar,此處橙色區域為tableView的頭部,通過設置contentInset使其改變了狀態欄的顏色,圖3為有問題的iPhone X,圖4為正常顯示地其他機型
圖3
圖4
當在iPhone X中顯示不正常是由于statusbar的高度增加了24,如下設置
if (IOS_SYSTEM_VERSION>=11) {
? ? ? ? ? ? _mineTableview.contentInset = UIEdgeInsetsMake(iPhoneX ? -44 : -20, 0, 100, 0);
? ? ? ? }else{
? ? ? ? ? ? _mineTableview.contentInset = UIEdgeInsetsMake(0, 0, 100, 0);
? ? ? ? }
iPhone X正常顯示如下圖5:
圖5
三:iPhone X中 MJRefresh的上拉加載更多遇到的問題如圖6
圖6
當tableView的底部與屏幕最下部對齊時,由于scrollview自動適應安全區域,tableview的內邊距下端變成了34,所以加載腳部圖出現了。
通過設置:
_tableView.mj_footer.ignoredScrollViewContentInsetBottom = iPhoneX ? 34 : 0;
即可解決
同理,頭部加載圖顯現的話,設置ignoredScrollViewContentInsetTop屬性即可