IOS判断为iPhoneX的几种方法
IOS判断为iPhoneX的⼏种⽅法
1.判断屏幕⼤⼩
第⼀种:
#define isiPhoneX ([UIScreen instancesRespondToSelector:@selector(currentMode)] ?
CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size) : NO)
第⼆种:
#define isiPhoneX (CGSizeEqualToSize(CGSizeMake(375.f, 812.f), [UIScreen mainScreen].bounds.size) || CGSizeEqualToSize(CGSizeMake(812.f, 375.f), [UIScreen mainScreen].bounds.size))
第三种:
#define isiPhoneX ([UIScreen mainScreen].bounds.size.height == 812.0f || [UIScreen
mainScreen].bounds.size.height == 896.0f)
第四种:(推荐)
//iPhone X 底部安全距离
#define LJ_SafeBottomHeight [LJUserManager safeBottomHeight]
迭的拼音//是否iPhone X
#define LJ_iPhoneX  [LJUserManager isiPhoneX]
//判断是否为iphone X
BOOL)isiPhoneX {
+ (BOOL
@available(iOS11.0, *)) {
if if(@available
UIWindow*keyWindow = [[[UIApplicationsharedApplication]delegate]window];
CGFloatbottomSafeInset = keyWindow.safeAreaInsets.bottom;
if if(bottomSafeInset ==34.0f|| bottomSafeInset ==21.0f) {
YES;
return
return YES
}
}新浪微博最近访客
NO;
return NO
return
}
石家庄游泳馆
/
/安全区域⾼度
float)safeBottomHeight {
+ (float
@available(iOS11.0, *)) {
if if(@available
return [[[UIApplication sharedApplication] delegate] window].safeAreaInsets.bottom;
return
}
return 0.0f;
return
}
认识翡翠原石
2.判断UIWindow的safeAreaInsets,当返回值为0时,为长⽅形,⾮0时即认为是iphone x,原理是判断是传统长⽅形
还是圆⾓矩形。
Swift:
put
func isIPhoneXType() -> Bool {
guard #available(iOS 11.0, *) else {
return false护肤品都有什么牌子的
}
return UIApplication.shared.windows[0].safeAreaInsets !=
}
OC:
static inline BOOL isIPhoneXSeries() {
BOOL iPhoneXSeries = NO;
if (UIDevice.currentDevice.userInterfaceIdiom != UIUserInterfaceIdiomPhone) {
return iPhoneXSeries;
}
if (@available(iOS 11.0, *)) {
UIWindow *mainWindow = [[[UIApplication sharedApplication] delegate] window];          if
(mainWindow.safeAreaInsets.bottom > 0.0) {
iPhoneXSeries = YES;
}
}
return iPhoneXSeries;
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。