蘋果所有設(shè)備屏幕尺寸
上圖為先蘋果所有設(shè)備屏幕尺寸首繁,可以看到最新的iPhoneXS和去年的iPhoneX尺寸一樣作郭,iPhoneXR和iPhoneXSMax屏幕尺寸一樣,不一樣的是iPhoneXR為@2先倍圖弦疮,圖片這些不用管夹攒,只要名字后綴命名好就行。
今年當(dāng)蘋果發(fā)布新手機(jī)前胁塞,有很多人會覺得又要加班搞適配了咏尝,其實(shí)不然压语,上面我說了他們的規(guī)律,只需要在原來適配iPhoneX的基礎(chǔ)上加一個判斷即可编检。
iPhoneXS和去年的iPhoneX
iPhoneXR和iPhoneXSMax
通過上面兩張圖片可以看出來胎食,他們的安全域都一樣,StatusBar的高都是44pt允懂,底部都有Home虛擬按鍵區(qū)34pt厕怜,所以做適配的時(shí)候只需要判斷是iPhoneX或者是iPhoneXS或者是iPhoneXR或者是iPhoneXSMax就行。
新增iPhone12尺寸
iphone12 及 iphone12 pro -------------- 390 * 844
iphone12 pro max --------------- 428 * 926
iphone12 mini --------------- 360 * 780
//獲得屏幕的寬高
#define kScreenWidth ([UIScreen mainScreen].bounds.size.width)
#define kScreenHeight ([UIScreen mainScreen].bounds.size.height)
//iPhoneX / iPhoneXS
#define isIphoneX_XS (kScreenWidth == 375.f && kScreenHeight == 812.f ? YES : NO)
//iPhoneXR / iPhoneXSMax
#define isIphoneXR_XSMax (kScreenWidth == 414.f && kScreenHeight == 896.f ? YES : NO)
//iPhone12mini
#define isIphone12mini (iskScreenWidth == 360.f && iskScreenHeight == 780.f ? YES : NO)
//iPhone12 / iPhone12pro
#define isIphone12 (iskScreenWidth == 390.f && iskScreenHeight == 844.f ? YES : NO)
//iPhone12proMax
#define isIphone12proMax (iskScreenWidth == 428.f && iskScreenHeight == 926.f ? YES : NO)
//異性全面屏
#define isFullScreen (isIphoneX_XS || isIphoneXR_XSMax || isIphone12mini || isIphone12 || isIphone12proMax)
// Status bar height.
#define StatusBarHeight (isFullScreen ? 44.f : 20.f)
// Navigation bar height.
#define NavigationBarHeight 44.f
// Tabbar height.
#define TabbarHeight (isFullScreen ? (49.f+34.f) : 49.f)
// Tabbar safe bottom margin.
#define TabbarSafeBottomMargin (isFullScreen ? 34.f : 0.f)
// Status bar & navigation bar height.
#define StatusBarAndNavigationBarHeight (isFullScreen ? 88.f : 64.f)
判斷是不是異性全面屏幕
#define isFullScreen (isIphoneX_XS || isIphoneXR_XSMax)
是在適配iPhoneX的基礎(chǔ)上加的判斷蕾总,OK打完收工粥航!