iOS 适配各机型界面

                                

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

你可能感兴趣的:(iOS 适配各机型界面)