在 iOS8 中更新高分辨率

Posted

技术标签:

【中文标题】在 iOS8 中更新高分辨率【英文标题】:Updating for high resolution in iOS8 【发布时间】:2014-10-02 22:20:53 【问题描述】:

我正在将我的应用程序转换到 ios8,我正在尝试确定是否需要在代码级别对屏幕大小进行任何调整。目前我使用这种方法来获取屏幕大小:

[UIScreen mainScreen].bounds.size

例如,在 iPad 上,这将返回 1024x768。 iPhone 5 将返回 568x320。比例因子明显取决于视网膜能力。

    我是否应该期望这些数字会在 iPhone 6 和 iPhone 6 加?

    我目前正在为 Retina 提供 @2x 图像 展示。这些适用于 iPhone 6 吗?由于屏幕是 比 iPhone 5 大,这是否意味着它们会稍微 模糊?或者这是无法检测到的?我需要放大@2x 图片吗?

    我听说在 iPhone 6 Plus 上使用 @3x。这是我需要进行的唯一真正更改以支持更高分辨率吗?

【问题讨论】:

【参考方案1】:

我是否应该期望这些数字会在 iPhone 6 和 iPhone 6 Plus 上发生变化?

[UIScreen mainScreen].bounds.size 返回的值对于 6 和 6 plus 当然会有所不同——毕竟它们的屏幕尺寸不同。另请注意,6 plus 可以进入“缩放视图”(靠近this page 的底部),在这种情况下,我相信 UIScreen 会返回不同的值。

我目前正在为 Retina 显示器提供 @2x 图像。这些适用于 iPhone 6 吗?由于屏幕比 iPhone 5 大,那是不是意味着它们会有点模糊?或者这是无法检测到的?我需要放大我的@2x 图片吗?

您现在需要@3x 图像 - iPhone 6+ 具有更高密度的显示屏,因此您的@2x 图像会模糊。

我听说在 iPhone 6 Plus 上使用 @3x。这是我需要进行的唯一真正更改以支持更高分辨率吗?

确保您的应用在缩放到新的屏幕尺寸时能够正常运行和显示。要使您的应用程序能够以全分辨率运行(而不是“缩放模式”),您需要为设备添加启动图像。有关如何执行此操作的信息,请参阅 this Stack Overflow question。

【讨论】:

能否请您扩展您的答案,具体包括如何为 6/6+ 添加高分辨率启动图像?命名约定是什么? @ShaunBudhram 你在使用 .xcassets 文件吗? 否 - 我目前正在使用实际的启动图像文件(默认 *.png)。我已经阅读了新的 xib 启动文件。这是支持更高分辨率的要求,还是我可以添加 Default@3x.png 以启用高分辨率? @ShaunBudhram 不,恐怕你不能那样做。我一直在寻找一种方法来以一种神奇的方式命名它,我认为你不能。我认为您将不得不使用资产目录。请参阅答案中的链接。

以上是关于在 iOS8 中更新高分辨率的主要内容,如果未能解决你的问题,请参考以下文章

我的 iOS 应用程序中的键盘在 iPhone 6 上太高了。如何在 XCode 中调整键盘的分辨率?

TransGAN更新!用纯Transformer构建高分辨率GAN

想请问,iOS10网页viewport怎么禁止缩放

DeepFacelab更新:分辨率提至640,效率翻倍!

如何使用 UIImageView 在 iOS4 中显示高分辨率图像

在 Python 中构建高分辨率图像