Cordova - 视网膜显示不正确缩放

时间:2017-11-21 12:47:51

标签: ios xcode cordova retina-display

我刚刚创建了一个新的Cordova项目。我使用cordova build投影,然后使用xcode启动到我的设备上。一切正常,直到我在iPad Pro 12.9视网膜显示器上启动应用程序。在这里,应用程序似乎有些缩放错误,如下图所示(请注意,即使状态栏的缩放也不正确):

https://i.stack.imgur.com/ZhLAp.jpgIncorrect scaling

然而,我确实有一种解决问题的方法。这个问题:如果我打开xcode并更改"启动屏幕文件" (在应用程序图标和启动图像下)到MainViewController.xib,似乎可以解决此问题,如下图所示。 然而(!)启动应用程序时,会向用户显示不需要的黑屏。

https://i.stack.imgur.com/W7rAX.jpgCorrect scaling

所以我的问题是:有没有办法解决原始问题,而不会影响启动屏幕?我非常想要一个不涉及进入xcode并手动更改内容的解决方案。

注意:

  • 我意识到从提供的屏幕截图中问题不是很明显,但是,在设备上它非常明显。
  • 我在index.html - 文件中包含以下内容:

<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">

1 个答案:

答案 0 :(得分:0)

所以,显然苹果正在放弃发布屏幕图像而转向发布故事板,而iPad Pro 12.9是第一个不再像其他设备那样支持发布屏幕图像的候选者。来自Cordova documentation

  

Apple正在逐渐远离传统的发布图像。没有官方支持为iPad Pro 12.9提供原生分辨率启动图像,或者提供与分屏多任务处理或幻灯片切换一起使用的启动图像。如果您的应用不需要支持这些上下文,那么只要您愿意,就可以继续使用旧版启动图像

然而,幸运的是Cordova 4.5.1(及以上版本)确实支持发布屏幕故事板,如here所述。

要使用故事板,我首先创建了一个2048x2048 image,将其命名为Default@3x~universal~anyany.png并将其放在res/screen/ios/中。然后我将以下内容添加到我的config.xml

<platform name="ios">
  ···
  <splash src="res/screen/ios/Default@3x~universal~anyany.png" />
  ···
</platform>