iOS判断iphoneX系列手机

是否是iPhoneX系列手机 各种宏记录下

//iPhoneX系列

//是否是ipad
#define isPad ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad)

//是否是X系列手机
#define IS_IPHONE (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
#define IS_IOS_11  ([[[UIDevice currentDevice] systemVersion] floatValue] >= 11.f)
#define IS_IPHONE_XSeries (IS_IOS_11 && IS_IPHONE && (MIN([UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height) >= 375 && MAX([UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height) >= 812))

//是否是X
#define IS_IPHONE_X ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size) && !isPad : NO)//[UIScreen mainScreen] .bounds (size = (width = 375, height = 812))

//是否是XR
#define IS_IPHONE_Xr ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(828, 1792), [[UIScreen mainScreen] currentMode].size) && !isPad : NO)//[UIScreen mainScreen] .bounds (size = (width = 414, height = 896))

//是否是XS_Max
#define IS_IPHONE_Xs_Max ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1242, 2688), [[UIScreen mainScreen] currentMode].size) && !isPad : NO)//和XR一样[UIScreen mainScreen] .bounds (size = (width = 414, height = 896))

#define k_Height_NavContentBar 44.0f

//状态栏高度
#define k_Height_StatusBar ((IS_IPHONE_X == YES || IS_IPHONE_Xr == YES  || IS_IPHONE_Xs_Max == YES) ? 44.0 : 20.0)

//导航整体高度
#define k_Height_NavBar ((IS_IPHONE_X == YES || IS_IPHONE_Xr ==YES ||  IS_IPHONE_Xs_Max == YES) ? 88.0 : 64.0)

//home栏高度
#define k_Height_TabBar ((IS_IPHONE_X == YES || IS_IPHONE_Xr == YES ||  IS_IPHONE_Xs_Max == YES) ? 83.0 : 49.0)
#define k_Height_TabBar_Home ((IS_IPHONE_X == YES || IS_IPHONE_Xr == YES ||  IS_IPHONE_Xs_Max == YES) ? 34.0 : 0)

喜欢的收藏下, thanks !

你可能感兴趣的:(iOS判断iphoneX系列手机)