美文网首页
适配iPhone Xs Max XR 坑点

适配iPhone Xs Max XR 坑点

作者: 宇丝 | 来源:发表于2018-10-17 08:33 被阅读0次

        首先我们对比一下iPhoneX和这次新发布的三款手机的尺寸:

        iPhoneX (@3x) 的分辨率:2436 * 1125 || pt: 812 * 375

        iPhoneXs (@3x) 的分辨率: 2436 * 1125 || pt: 812 * 375

        iPhoneXs Max (@3x) 的分辨率:2688 * 1242 || pt: 896 * 414

        iPhoneXr (@2x) 的分辨率:1792 * 828 || pt: 896 * 414

    可以看出,Xs是和X的尺寸一样,这个不用适配也都正常。而Xs Max和Xr的像素是一样的,所以我们只需要适配896 * 414 尺寸即可。他们的刘海高度都一样,也就是说在这四种都按照iPhoneX的逻辑即可。

    点一:

    需要给项目添加Xs Max的启动图,如果没有添加的话,默认获取到的仍然是X的尺寸。这是苹果做的兼容处理,认为你的项目还没有适配Xs Max,所以就给你兼容了一下。加上启动图之后获取到的就是正确尺寸啦。

    点二:

    在判断是否有刘海时,不要使用尺寸了。iOS 11 引入了safeAreaInsets,只用这个进行判断能够通杀这四种尺寸

    点三:

    在界面中弹出个alert之后,再使用safeAreaInsets进行判断,发现结果不正确。这是由于弹窗会改变keywindow导致的,注意代码的书写

    点四:

    在模拟器中获取到的XS Max尺寸都正常,但是在真机中仍获取到的是X尺寸。这个一直没能搞清楚是怎么回事????

    点五:

    如果老项目运行之后报info.plist之类的错误,那就是因为引入的第三方库中含有了info.plist文件造成的。需要在Build Phases-----Copy Bundle Resources中删除plist即可

    相关文章

      网友评论

          本文标题:适配iPhone Xs Max XR 坑点

          本文链接:https://www.haomeiwen.com/subject/unhlzftx.html