可以用 Auto Layout 代替 Asset Catalog 吗?

Posted

技术标签:

【中文标题】可以用 Auto Layout 代替 Asset Catalog 吗?【英文标题】:Can Auto Layout be used to replace Asset Catalog? 【发布时间】:2014-12-18 02:00:42 【问题描述】:

我想问一下使用资产目录的目的是什么,必须创建x.png,x@2x.png和x@3x.png图像以支持iPhone屏幕平台,而他们只能使用自动布局?

我的意思是,我们不能只设置约束并拥有一个 x.png 图像,并且根据屏幕大小和约束,自动布局将按比例缩放图像,而不必具有 3 个不同大小的相同图片?

这就是我现在正在为我的应用程序做的事情,并且想知道使用自动布局而不是资产目录是否有益?除非我误解了两者的区别?

从我的屏幕截图中可以看出,我设置了一个具有比例高度约束的 UIImageView,它将根据屏幕大小适当缩放。

有人能详细解释一下吗?谢谢

【问题讨论】:

【参考方案1】:

自动布局改变图像的大小view (UIImageView)。资产目录有助于替换不同分辨率的 image (UIImage) 以匹配屏幕分辨率。它们彼此没有任何关系。

此外,使用比您需要的更大的图像非常浪费内存。因此,您可以在单分辨率屏幕 iPad 上使用按比例缩小的 3 倍图像,但这会非常浪费内存 - 甚至可能看起来不如使用单分辨率图像开始,其中图像的像素可以匹配屏幕的像素。

【讨论】:

我明白了,例如,我有一个标记为“close”的资产,并且我有适当的图像文件 close.png、close@2x.png 和 close@3x.png。如果我将图像视图设置为“关闭”,Xcode 会知道根据 iPhone 屏幕大小选择合适的图像文件吗? 不是屏幕尺寸。屏幕分辨率。 - 这曾经通过图像的名称来完成,但使用资产目录要容易得多。对于我们过去必须做的事情,请参阅developer.apple.com/library/ios/documentation/2DDrawing/… 感谢 matt!....最后一个问题,如果我不使用资产目录,并为 Xcode 提供所有 iPhone 平台的相同分辨率的图像,会有什么缺点? 你明白什么是分辨率吗? 不,我没有读完你所有的答案,对不起,我现在不在意,我刚读了你的第一段(敲头),我很抱歉,感谢你的解释:)

以上是关于可以用 Auto Layout 代替 Asset Catalog 吗?的主要内容,如果未能解决你的问题,请参考以下文章

Grid Layout 注释

使用 table-layout=auto 固定 HTML 表格中的宽度列

使用 Auto Layout 改变 UIButtons 的 Column 布局

UIStackView 和 Auto Layout Anchor 的区别

WWDC2018 之 高性能 Auto Layout

是否可以在 Interface Builder 和 Auto Layout 中说“使这个 UILabel 以另一个 UILabel 的中心为中心”? [关闭]