您的位置:首页 > 移动开发 > IOS开发

[绍棠] iOS11和iPhone X的适配

2017-11-10 16:58 330 查看
接下来,适配iOS 11是首要的适配的,网上教程很多,不在赘述。这里主要讲的是 iPhone X的适配。大神级别的可以不用看,我这里讲的主要是基础的适配工作。我将按照一个项目的适配顺序来讲解:

1、启动App

 对于一些老项目,在启动图上,可能没有采用xib或者SB进行适配的,所以可能会出现如图一,这样导致整个项目运行就会不能完全贴合。



图一

解决办法,在项目设置里面直接用LaunchScreen.xib或者LaunchScreen.storyboard进行配置启动图,这样项目就会完整显示了。如图二



图二

2、程序进到程序的首页。如果采用了MJRefresh的刷新机制,则会显示如下图的效果,导致刷新头部显示。不过按照实验能看到,如果不显示下拉箭头,则【刘海】可以正好盖住(如图一),

不过想让statusBar变颜色,可以采用view上移-88 则会正常显示。(如图二)或者界面不上移动,将刷新头部背景色变成和项目顶部背景色一样也可以,即设置:.mj_header.backgroundColor

如果都不想改,可以坐等MJRefresh的作者更新,目前这个问题,已经提交给作者。



图一



图二

3、处理到这里,可能的发现,原来上移status可能是20 ,在iPhone X的设备上,变成了88,如何设置。可以采用:

4、项目中难免使用全屏的情况,如果界面比较负责,无法采用约束布局,需要代码适配,由于status 的高度改变,需要改变动态的计算。如图一:



图一

修改完后:图二



图二

5、tableview的导致的问题。如图一

目前模拟器设置中也存在如下问题,不过目前不确定会不会有所调整。



图一(1)



图一(2)

解决办法:

目前发现在iOS 11中,会默认开启获取的一个估算值来获取一个大体的空间大小,导致不能正常显示,可以选择关闭。目前尝试在delegate中处理不能很好的解决,不过可以直接设置:

就能够正常显示了。图二



图二

6.iOS11 真机地图


在iOS11地图适配,在iOS11中,如果使用到地图,我们就需要在
info
,里面添加
NSLocationAlwaysAndWhenInUseUsageDescription
NSLocationWhenInUseUsageDescription
才可以在
ios11
里面正常调出地图

iOS11,地图权限
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios