Assets.xcassets - 通用不工作
Posted
技术标签:
【中文标题】Assets.xcassets - 通用不工作【英文标题】:Assets.xcassets - Universal not working 【发布时间】:2016-12-30 03:17:22 【问题描述】:我将 Universal 用于Assets.xcassets
,希望我只需要为我使用的每个图像创建 3 种不同的尺寸。但是,尽管Assets.xcassets
告诉我我的图像在属性检查器中是通用的,但当我在 iPad 上进行测试时,图像模糊且不像 iPhone 上那样清晰,这让我质疑为什么会有通用选项。
我已经仔细检查了我所有的图片,它们的尺寸都正确。
我的问题:
-
在属性检查器的通用下,有 iPhone 和 iPad 选项。为了让我的 iPad 提供清晰的图像,我应该使用 iPad 选项吗?
如果我应该这样做:如果 Universal 选项没有真正发挥作用,它还有什么意义?
如果我应该:我使用什么尺寸的图像。 iPad 选项为我提供了 1x 和 2x 尺寸图像的选项。那么,iPad 的 1x 图像尺寸是否应该与 Universal 的 1x 图像尺寸相同?
提前致谢。
【问题讨论】:
【参考方案1】:通用仅仅意味着这个应用程序将在 iPad 和 iPhone 上原生运行。因此,您的应用可能在其上运行的设备可以具有单分辨率、双分辨率或三分辨率屏幕。
如果您已选中 Universal,相应地,您应该会看到三个插槽:
因此,您的工作是制作三个版本的图像,按比例调整大小。如果 1x 为 100x100,则 2x 应为 200x200, 3x 应为 300x300。相应插槽中的版本将在运行时根据我们正在运行的设备的屏幕分辨率使用。
资产目录不会为您调整任何图像大小。你必须事先做。 (为此,我发现 Graphic Converter 是一个不错的实用程序。)
您可以只提供一个 3x 图像并让运行时为您缩小,但这很浪费内存; Apple 在其中一个 WWDC 2016 视频中特别建议不要这样做。因此,只需咬紧牙关,自己制作所有三种图像尺寸。
最后:
当我在我的 iPad 上测试时,图像很模糊,不像我的 iPhone 那样清晰
嗯,我能想到的唯一原因是您的应用不是在 iPad 上本地运行,而是在 iPad 上以“仿真模式”运行的 iPhone 应用。如果是这样的话,没有你能做的就是让它看起来非常好。将您的应用程序编写为真正的通用应用程序会更好。这是您在最初创建项目时所做的设置(尽管稍后可以通过编辑应用程序目标来更改它)。
【讨论】:
为了使其通用,我测试了运行应用程序的设备,并相应地调整了大小(iPad 的图像比 iPhone 大 2 倍。)这是模拟模式,如果不是,怎么做我测试是不是。 “我测试了运行应用程序的设备,并相应地调整了大小(iPad 的图像比 iPhone 大 2 倍。”啊。但在这种情况下,你不应该使用 Universal。你应该使用 iPad和 iPhone 并提供单独的图像集(集图像,根据我之前所说的)。以上是关于Assets.xcassets - 通用不工作的主要内容,如果未能解决你的问题,请参考以下文章
Apple watch 多个 Assets.xcassets 文件夹的用途
获取位于 Assets.xcassets 的数据集中文件的路径
Cocoapods:包含资源文件夹 Assets.xcassets 的 pod 出现问题