Ben*_*ohn 1 alignment uiimage asset-catalog
Xcode资产目录编辑器支持Alignment图像属性。这非常看起来这旨在为设置的机制UIImage的alignmentRectInsets,并且苹果公司的资产目录参考强烈建议这个太:
对齐插入
字典
UIImage中的alignmentRectInsets或NSImage中的alignmentRect的插图。插入标签可以省略。
但是,当我从Alignment使用编辑器打开的目录中加载图像时,它没有对齐。
我正在使用加载图像[UIImage imageNamed:]。
这是一个已知的错误,还是我缺少一些细微之处?
我做了一些测试,我想我发现了为什么它不起作用。
如果未将资产目录编辑器中的所有alignment值都设置为以外的其他值0,那么在加载该图像资源时,将不接受任何对齐值。由于将某些对齐值设为完全合理0,我相信这是一个错误,我将在Radar上提出。但是,尽管如此,该功能仍然非常有用,我打算使用它。
值得一提的是,您在资产目录编辑器中为多比例PNG设置的路线是用像素而不是点定义的。
当您加载资产,然后要求其提供图像alignmentRectInsets,报告结果的点。即,该特定资产的比例因子将应用于您在编辑器中设置的值。
例如:如果您30, 30, 30, 30在@3x资产上设置的对齐方式,然后加载UIImage,则会看到它alignmentRectInsets是10, 10, 10, 10。
我还测试了矢量资产。在这里,您有一个矢量图像,并为其指定了一组对齐值。
在单个矢量资产的情况下,资产目录编辑器中的“对齐”以点而不是像素定义。这与多尺寸PNG相反!
当您加载资产并要求时aligmentRectInsets,无论UIKit为该图像加载的比例如何,您都会看到报告的相同值。
……这实际上是有道理的,并且如果做不同的话将无法工作。但似乎它可能会吸引人们。