iOS判断iphonex系列刘海屏

最大的非刘海屏的8plus的逻辑物理尺寸为: 414x736.
最小的刘海屏手机iPhone12 mini 逻辑物理尺寸为: 375x812
所以...

#define kUIPhone (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
#define IphoneX (kUIPhone && (MAX([UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height) > 736))

iOS11新出的这个方法, 没有办法判断刘海屏的手机越狱装了11以下的系统:
不考虑越狱刷低系统的可以考虑这个:

#define IphoneX ({ \
BOOL ipX = NO; \
if (@available(iOS 11.0, *)) { \
    UIWindow *window = [[UIApplication sharedApplication].windows firstObject]; \
    ipX = window.safeAreaInsets.bottom > 0; \
} \
  ipX; \
})
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容