IOS判断为iPhoneX的几种方法

IOS判断为iPhoneX的几种方法


2023年12月6日发(作者:vivoapex2019多少钱)

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].) ||

CGSizeEqualToSize(CGSizeMake(812.f, 375.f), [UIScreen mainScreen].))

第三种:

#define isiPhoneX ([UIScreen mainScreen]. == 812.0f || [UIScreen

mainScreen]. == 896.0f)

第四种:(推荐)

//iPhone X 底部安全距离

#define LJ_SafeBottomHeight [LJUserManager safeBottomHeight]

//是否iPhone X

#define LJ_iPhoneX [LJUserManager isiPhoneX]

//判断是否为iphone X

+ (BOOLBOOL)isiPhoneX {

ifif(@available@available(iOS11.0, *)) {

UIWindow*keyWindow = [[[UIApplicationsharedApplication]delegate]window];

CGFloatbottomSafeInset = ;

ifif(bottomSafeInset ==34.0f|| bottomSafeInset ==21.0f) {

returnreturnYES;YES

}

}

returnreturn NONO;

}

//安全区域高度

+ (floatfloat)safeBottomHeight {

ifif(@available@available(iOS11.0, *)) {

returnreturn [[[UIApplication sharedApplication] delegate] window].;

}

returnreturn 0.0f;

}

2.判断UIWindow的safeAreaInsets,当返回值为0时,为长方形,非0时即认为是iphone x,原理是判断是传统长方形

还是圆角矩形。

Swift:

func isIPhoneXType() -> Bool {

guard #available(iOS 11.0, *) else {

return false

}

return s[0].safeAreaInsets !=

}

OC:

static inline BOOL isIPhoneXSeries() {

BOOL iPhoneXSeries = NO;

if (terfaceIdiom != UIUserInterfaceIdiomPhone) {

return iPhoneXSeries;

}

if (@available(iOS 11.0, *)) {

UIWindow *mainWindow = [[[UIApplication sharedApplication] delegate] window]; if

( > 0.0) {

iPhoneXSeries = YES;

}

}

return iPhoneXSeries;

}


发布者:admin,转转请注明出处:http://www.yc00.com/num/1701795722a1147861.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信