1、apple设备状态栏和tabbar高度
iPhone X 全屏状态栏statuBar高度为44,tabBar高度为83,底部状态增加了34.
iPhone X以下机型状态栏statuBar高度为20,tabBar高度为49
2、下面就开始适配了,其实也是很简单,通过宏定义去适配
//iPhone X适配
#define KStatusBarHeight [[UIApplication sharedApplication] statusBarFrame].size.height //获取状态栏的高度
#define KNavBarHeight 44.0 //导航栏的高度
#define KTabBarHeight ([[UIApplication sharedApplication] statusBarFrame].size.height > 20?83:49) //根据状态栏的高度判断tabBar的高度
#define KtopHeitht (KStatusBarHeight + KNavBarHeight) //顶部状态栏加导航栏高度
#define KTabSpace ([[UIApplication sharedApplication] statusBarFrame].size.height > 20?34:0) //底部距安全区距离
3、UI界面的frame适配
// 当前设备大小
#define iPhoneWidth [UIScreen mainScreen].bounds.size.width
#define iPhoneHeight [UIScreen mainScreen].bounds.size.height
//自适应大小;这里使用的基于iphone6 的参考适配,可以修改为se/5s {320, 568}/ 6s {375, 667}/ iphonX {375, 812}
#define kWidth(width) iPhoneWidth * width / 375.
#define kHeight(height) iPhoneHeight * height / 667.
#define kLevelSpace(space) iPhoneWidth * space / 375. //水平方向距离间距
#define kVertiSpace(space) iPhoneHeight * space / 667. //垂直方向距离间距
5、字体适配
#definefont(R) (R)*(kScreenWidth)/375.0//这里是iPhone 6屏幕字体#definesysFont(f) [UIFont fontWithName:@"STHeitiSC-Light" size:autoScaleW(f)]