最大的非刘海屏的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; \
})
网友评论