问题1:打开项目,发现上下各有一大块黑色区域
解决:使用launchScreen的话,勾选Use Safe Area Layout Guides 这个选项即可;使用launchImage的话,增加iPhone X的启动图1125*2436,json内容如下:
{
"extent" : "full-screen",
"idiom" : "iphone",
"subtype" : "2436h",
"filename" : "1125*2436.png",
"minimum-system-version" : "11.0",
"orientation" : "portrait",
"scale" : "3x"
}
额外:简单说一下safe layout guides ,是保证view不被其他view挡住可完整显示的UIView的一个属性,可以避开状态栏,导航栏,tabbar等一些view。
问题2:引导页距底部尺寸不对,
解决:使用了导航栏,安全区域导致上下共有88px的高度差,图片被拉伸,效果就不对了。可以在安全区域建立正常宽高比的图片,也可以制作适配iPhone X的引导页,只要UI妹妹选择原谅你。
问题3:视图距离顶部的尺寸不对,目测还是状态栏尺寸改变引起的
解决:iOS 11 automaticallyAdjustsScrollViewInsets 被ScrollerView的contentInsetAdjustmentBehavior 替换了。对于顶部是轮播图,我的做法是设置除iPhone X外为UIScrollViewContentInsetAdjustmentNever,iPhone X为UIScrollViewContentInsetAdjustmentAlways,并将导航栏颜色设置为黑色,字体白色,UIView *statusBar = [[[UIApplication sharedApplication] valueForKey:@"statusBarWindow"] valueForKey:@"statusBar"];
if ([statusBar respondsToSelector:@selector(setBackgroundColor:)]) {
statusBar.backgroundColor = [UIColor blackColor];
}
问题4:iPhone X上,隐藏了导航栏,mj_header的顶部位置不对
解决:mj对scrollview的inset的修改对于iPhone X的安全区域没有适配,要么等待大神更新版本,要么自己修改源码。