Xcode 6 会自动调整 iPhone 6 和 6 plus 的应用程序大小



我正在iPhone 5英寸故事板上为iOS 7开发Xcode 5应用程序。我准备了我的应用程序及其按钮,图像和其他东西以适应iPhone 5屏幕尺寸,然后以编程方式优化应用程序以适应iPhone 4和4s。

然后Xcode 6来了,还有两款新设备,iPhone 6和iPhone 6 plus。我在想我将不得不再次花费几个小时来以编程方式优化这些分辨率的应用程序。

但是我尝试在我的新iPhone 6上运行我的应用程序,奇怪的事情发生了。应用程序本身为我创造了一切。一切都在正确的位置和正确的大小,我什么都没做。

我看到 Xcode 6 现在使用 Size Class 为多个设备开发应用程序。

但是我没有在我的项目中使用大小类和自动布局,它有效吗?

然后我打开了新项目。在我的新项目中,调整大小不再像这样工作。所以它不会自动调整我的按钮、视图和其他东西的大小。

有谁知道发生了什么?

如果您不使用启动故事板或包含新 iPhone 6 尺寸的启动图像,则整个屏幕将展开以填充新设备尺寸(在辅助功能设置中启用缩放时也会发生同样的事情(。iPhone 6用户会注意到更大的字体,图像等。

这就是正在发生的事情。问题是您无法利用额外的屏幕空间(额外的像素(。如果这对你来说很酷,那就保留它,但是当你最终优化你的应用程序以使用额外的空间时,iPhone 6用户会突然抱怨当它停止自动缩放时字体大小变小了。

您应该花时间针对 iPhone 6

进行优化并包含启动图像(如果仅支持 iOS 8+,则包含启动故事板(,并在您的应用说明中添加"针对 iPhone 6 优化"注释。

要解决此问题并恢复应用程序的自动缩放,只需不要设置 Lauch 屏幕文件并在项目中放置名为 Default-568h@2x.png(640x1136 像素(的图像。现在,在情节提要中使用iPhone SE屏幕尺寸制作整个项目。当应用程序在大屏幕iPhone上打开时,视图图像将填满整个屏幕。

如果您在iOS 8之前不触摸您的应用程序,它将自动在iPhone 6和6 Plus设备上运行。 但是,如果您想使用大小类(您应该这样做(,那么您必须添加自动布局约束以使一切顺利。

相关内容

最新更新