1. 程式人生 > >iPhone X 的適配

iPhone X 的適配

iPhone X 的適配

很久沒時間更新部落格了,趁著專案最近不是很緊,整理一些開發中遇到的,對大家有用的東西,記錄一下. 方便日後回顧;
前幾天做了iPhone x的適配, 有些坑,希望對廣大開發者有點幫助;
我做了個圖:
這裡寫圖片描述

可以看到, 狀態列和導航欄的高度是88了;
tabbar的高度是83了,但是tabbar底下有個圓角,在開發的過程中,需要注意, 寫上去的內容會看不到了哦;
然後鋪頁面的區域就是: 螢幕高度 - 頭部高度 - 底部高度;
我的頭部和底部的高度都寫成了巨集, 方便在開發的過程中挨個機型判斷了;

首先判斷是 iPhoneX, 網上判斷機型的方法大家可以自己搜一下,還是挺好找的,比如:

http://www.jianshu.com/p/02bba9419df8

因為iPhoneX的螢幕不一樣,我就隨便用一個螢幕的方法, 我是寫在了pch裡了

//1.判斷是iPhoneX
#define kDevice_Is_iPhoneX ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size) : NO)

// 整個螢幕的高度
#define HHMainScreenHeight [UIScreen mainScreen].bounds.size.height
//2.中間顯示的區域高度, 中間區域不是這個高度的再做適當的增減就好了 #define JMiddleHeight MainScreenHeight-NavBarHeihgt-TabBarHright

使用的時候;

if(kDevice_Is_iPhoneX) {
// 是 iPhoneX
// 設定 navBar的背景
// 設定 TabBar的背景
} else {
// 不是 iPhoneX
// 設定 navBar的背景
// 設定 TabBar的背景
}

—–重要的—–
到這裡就差不多了, 但是執行裝置的時候就會發現出大事了,怎麼調都不能適配;這是在執行iPhoneX的時候少了一個啟動頁,必須給iPhoneX配上1125 × 2436的啟動頁
這裡寫圖片描述

到這裡,應該就可以了

如果還有不合適的情況,歡迎探討 QQ:418210857