iOS判断iphoneX系列手机 发表于 2019-04-17 是否是iPhoneX系列手机 各种宏记录下 123456789101112131415161718192021222324252627282930//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 !