苹果设备我参考其他的资料,大多大神写的东西只讲一些概念,必要的判断都没有写,必须iphonex的底部适配的高度是34,所以我对之前的设备适配只做了iphoneX。但是现在新出的设备xs和xr都需要底部适配,所以设备的判断就需要更改
1.只需要适配iphoneX
#define IsiPhoneX ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size) : NO)
只需要判断x的代码,这个是我之前的代码
2.适配iPhone XS MAX 、iphoneX、iPhone XR
使用define判断底部的距离,
#define IsHaveSafeAreaBottom() ({ Boolean isHave = false; if (@available(iOS 11.0, *)){ if([[[UIApplication sharedApplication]delegate]window].safeAreaInsets.bottom >0.0){ isHave = true; } } (isHave); })
如果需要适配新出来的机型,这个是我最新的代码,希望对有需要的人有所帮助,如果转载,请注明出处