如何判断iPhoneX/iPhoneXR/iPhoneXs/iPhoneXsMax系列机型

通过定义宏判断如下:

/*当前机型是否iPhoneX或iPhoneXs*/
#define iPhoneX ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size) : NO)

/*当前机型是否iPhoneXR*/
#define iPhoneXR ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(828, 1792), [[UIScreen mainScreen] currentMode].size) : NO)

/*当前机型是否iPhoneXsMax*/
#define iPhoneXsMax ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1242, 2688), [[UIScreen mainScreen] currentMode].size) : NO)

/*当前机型是否iPhoneX系列*/
#define iPhoneXSeries (iPhoneX || iPhoneXR || iPhoneXsMax)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • // iPhone4S #define IS_iPhone_4S ([UIScreen instancesResp...
    Bobo_Ma阅读 5,057评论 0 4
  • 趁着iphoneX大行其道之际,赶紧写一篇低质量的文章,暴力适配下iphoneX 前言:写几个常用的宏定义,和判断...
    球球ol阅读 675评论 0 5
  • iOS开发过程中,使用的一些常用宏定义 字符串是否为空#define kStringIsEmpty(str) ([...
    goyohol阅读 5,400评论 30 85
  • // .pch 文件中写// 判断是iPhone机型/* 4s 960 * 640 5/5s 1136 x 640...
    voQuan阅读 1,084评论 0 0
  • 今天看古典老师的《超级个体》,里面有一个很有意思的公式:自由=责任=能力=过去的选择 过去的选择深深影响现在的自由...
    一朵朵儿阅读 218评论 0 0