iphoneX适配

导航栏高度的变化

iOS11之前导航栏默认高度为64pt(这里高度指statusBar + NavigationBar),iOS11之后如果设置了prefersLargeTitles = YES则为96pt,默认情况下还是64pt,但在iPhoneX上由于刘海的出现statusBar由以前的20pt变成了44pt,所以iPhoneX上高度变为88pt,如果项目里隐藏了导航栏加了自定义按钮之类的,这里需要注意适配一下。

添加上iPhoneX的启动图 1125 × 2436

动态获取标题栏+状态栏高度

-(CGFloat)heightNav{

CGFloat h = 0;

// 状态栏(statusbar)

CGRect StatusRect = [[UIApplication sharedApplication] statusBarFrame];

//标题栏

CGRect NavRect = self.navigationController.navigationBar.frame;

h= StatusRect.size.height+NavRect.size.height;

return h;

}

/// 底部宏,吃一见长一智吧,别写数字了

#define SafeAreaBottomHeight (kWJScreenHeight == 812.0 ? 34 : 0)

具体注意计算

你可能感兴趣的:(iphoneX适配)