适配iPhone X

——不讲那么多废话,直接说怎么解决:

1.导航栏的高度由64变成了88,如果导航栏有背景图片的需要再做一张导航背景图,布局问题,可以定义一个导航栏高度的宏定义即可,再以往固定的64的地方都修改一下。
//状态栏高度
#define STATUSHEIGHT [[UIApplication sharedApplication] statusBarFrame].size.height
//NavBar高度
#define NAVHEIGHT self.navigationController.navigationBar.frame.size.height
2.底部tabbar的高度由49变成了83,底部有tabbar的情况下列表一般没有什么问题,如果是跳转页面,列表就会有问题,如果有上拉加载更多的话会露出上啦视图,需要判断一下设备,然后调整当前列表的高度。
#pragma mark - 判断版本
+ (NSString*)iphoneType {

struct utsname systemInfo;

uname(&systemInfo);

NSString*platform = [NSString stringWithCString: systemInfo.machine encoding:NSASCIIStringEncoding];

if([platform isEqualToString:@"iPhone10,3"]) return@"iPhone X";

if([platform isEqualToString:@"iPhone10,6"]) return@"iPhone X";

return platform;

}
3.tableview会莫名多出空白的地方的问题,一般是都是用了区头或者区尾的问题,iOS 11去掉了这个属性
self.automaticallyAdjustsScrollViewInsets = NO;

并且自动默认开启了 Self-Sizing 属性,不想使用Self-Sizing的话,可以通过以下方式关闭:

 self.tableView.estimatedRowHeight = 0;
 self.tableView.estimatedSectionHeaderHeight = 0;
 self.tableView.estimatedSectionFooterHeight = 0;
4.上下空出留白的问题,是因为iPhone X的高度变了,所以需要添加一张新的启动页面图片,尺寸为1125*2436,就ok了。
5.MJ刷新的下拉刷新头部的问题作者已经更新,更新一下即可。

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