适配iPhoneX系列

1.iPhoneX适配宏定义:

#define iPhoneX (SCREEN_HEIGHT ==812.0f|| SCREEN_HEIGHT ==896.0f)

//顶部电池栏的高度              (iPhoneX ? 44.0 : 20.0)

#define TopStatusBarH      [[UIApplication sharedApplication] statusBarFrame].size.height

//导航栏的高度                (iPhoneX ? 44.0 : 44.0)

#define NavigationBarH      self.navigationController.navigationBar.frame.size.height

//                          (iPhoneX ? 88.0 : 64.0)

#define NavigationHeight    (TopStatusBarH + NavigationBarH)

//底部分栏控制器的高度          (iPhoneX ? 83.0 : 49.0)

#define BottomTabBarH      self.tabBarController.tabBar.frame.size.height

//底部安全区域高度

#define BottomSafeAreaHeight  (iPhoneX ?34.0:0)


2.屏幕、字体适配宏定义:

//屏幕宽度

#define SCREEN_WIDTH      [UIScreen mainScreen].bounds.size.width

//屏幕高度

#define SCREEN_HEIGHT    [UIScreen mainScreen].bounds.size.height

//大小

#define SCREEN_SIZE [UIScreen mainScreen].bounds.size

//************************ 不同屏幕尺寸字体适配 **********************************************

#define kScreenWidthRatio  (UIScreen.mainScreen.bounds.size.width /375.0)

#define kScreenHeightRatio (UIScreen.mainScreen.bounds.size.height /667.0)

#define AdaptedWidth(W)  ceilf((W) * kScreenWidthRatio)

#define AdaptedHeight(H) ceilf((H) * kScreenHeightRatio)

#define AdaptedFontSize(R)    [UIFont systemFontOfSize:AdaptedWidth(R)]


上面是宏定义,tableView是不需要适配的,底部有Button必须要用到 BottomSafeAreaHeight 这个高度进行适配  举个例子:

你可能感兴趣的:(适配iPhoneX系列)