iPhoneX、iPhoneXS、iPhoneXR、iPhoneXSMax屏幕适配

苹果所有设备屏幕尺寸

上图为先苹果所有设备屏幕尺寸,可以看到最新的iPhoneXS和去年的iPhoneX尺寸一样,iPhoneXR和iPhoneXSMax屏幕尺寸一样,不一样的是iPhoneXR为@2先倍图,图片这些不用管,只要名字后缀命名好就行。

今年当苹果发布新手机前,有很多人会觉得又要加班搞适配了,其实不然,上面我说了他们的规律,只需要在原来适配iPhoneX的基础上加一个判断即可。

iPhoneXS和去年的iPhoneX

iPhoneXR和iPhoneXSMax

通过上面两张图片可以看出来,他们的安全域都一样,StatusBar的高都是44pt,底部都有Home虚拟按键区34pt,所以做适配的时候只需要判断是iPhoneX或者是iPhoneXS或者是iPhoneXR或者是iPhoneXSMax就行。

//获得屏幕的宽高#definekScreenWidth ([UIScreen mainScreen].bounds.size.width)#definekScreenHeight ([UIScreen mainScreen].bounds.size.height)//iPhoneX / iPhoneXS#defineisIphoneX_XS    (kScreenWidth == 375.f && kScreenHeight == 812.f ? YES : NO)//iPhoneXR / iPhoneXSMax#defineisIphoneXR_XSMax    (kScreenWidth == 414.f && kScreenHeight == 896.f ? YES : NO)//异性全面屏#defineisFullScreen    (isIphoneX_XS || isIphoneXR_XSMax)// Status bar height.#defineStatusBarHeight    (isFullScreen ? 44.f : 20.f)// Navigation bar height.#defineNavigationBarHeight  44.f// Tabbar height.#defineTabbarHeight        (isFullScreen ? (49.f+34.f) : 49.f)// Tabbar safe bottom margin.#defineTabbarSafeBottomMargin        (isFullScreen ? 34.f : 0.f)// Status bar & navigation bar height.#defineStatusBarAndNavigationBarHeight  (isFullScreen ? 88.f : 64.f)

判断是不是异性全面屏幕

#define isFullScreen (isIphoneX_XS || isIphoneXR_XSMax)

是在适配iPhoneX的基础上加的判断,OK打完收工!

作者:子疯zp

链接:https://www.jianshu.com/p/f3f698c6e783

來源:简书

简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容