最近在搞iPad开发时候遇到12.9尺寸屏幕被整体放大的情况,所有图标文字全部被放大,开始以为是放大模式的情况引起,查阅了一些资料发现是苹果disPlay zoom导致的。
首先分析导致这个问题的几种可能:
第一:
xib启动导致
launchScreenFile入口为mainWindow, 将这个入口置为空,或者更换为其他入口仍有这个问题,所以排除这个可能(我是在删了LaunchScreen.storyBoard和Main.StroryBoard情况下运行的). xib在其他尺寸的iPad和手机并未出现此问题,屏幕修改成自适应,修改各种模式,并未发现异常有放大模式下相关内容,先排除.
第二:
launchImage尺寸问题导致的
首先,LaunchScreen 的优先级是高于 LaunchImage的,在删除系统原有的LaunchScreen.storyBoard之后,一般是通过识别我们生成的launchScreen图片尺寸进行加载,并作为启动界面, 然而通过官网给出的iPad尺寸或者直接截取iPadPro12.9寸依旧未解决这个问题,所以这个原因也排除.
第三:
放大模式原因导致:
iPad并未开启放大模式,直接pass
第四:
排除了很多种原因都没能解决这个问题,查了写资料,结合苹果的Xcode Help发现:
我们从launchScreen提到的launchScreenFile入手,手动创建一个LaunchScreen.storyBoard, 让app自动识别屏幕尺寸,结果:问题解决。
不错,就是我创建项目的时候就删除的 LaunchScreen.storyBoard,将Launch Screen File指向它,就解决了困扰我几天的问题.
参考内容:
https://stackoverflow.com/questions/41500314/size-of-ipad-pro-launch-image-2x