IOS / Xcode:安全地将图像拖放到Images.xcassets而不先添加?

时间:2018-03-07 14:28:11

标签: xcode xcasset

通常在Xcode中添加文件,我首先将其移动到项目目录,然后单击File Add将其带入项目。我首先将其移动到项目目录中的原因是为了避免意外移动或删除可能在下载,桌面或其他任何位置的文件。

但是,对于images.xcassets中的图像集,Xcode似乎只允许您将文件拖到占位符点上,它会自动导入图像。我不知道它在哪里存储图像,我不知道它是否存放在一个安全的地方。我还注意到一些奇怪的事情,比如你右键单击并在finder中打开,它拍摄的图像是25x25并创建了一个26x26或创建了一个50x50到51x51的图像副本。它们出现在名为blank.imageset的文件夹中,其中blank是图像集的名称。不知道为什么会这样做。

我收集它的可能因此跳过将文件移动到项目目录并添加它的步骤。不过,我想知道这些步骤是否有任何缺点。

欣赏幕后发生的事情,以及从任何随机位置拖放是否安全。

提前感谢任何建议。

2 个答案:

答案 0 :(得分:1)

我通常只是将文件拖放到Xcode中的.xcassets文件中的占位符中。如您所述,它会自动复制,因此无需在此之前将图像添加到项目中。

虽然没有经历任何调整大小,可能你选择了不正确的图像尺寸?

答案 1 :(得分:1)

拖放图像是安全的。我一直在这样做,因为该功能出现在XCode上并且没有遇到任何问题。我只是确保当我以这种方式添加图像时,我看到我的git repo上的下一个提交包括添加了这些图像。

为此:

  

它拍摄了25x25的图像并创建了一个26x26或者26x25的图像   创建了50x50到51x51的图像副本。

我认为问题通常在于图像尺寸,其中25x25和50x50的图像实际上是25.6x25.5和50.5x50.5,它们在你的取景器中显示为正确的尺寸,但是如果你打开它草图或Photoshop,您可能会看到真实尺寸。

当您将此类图像放入Xcode时,它会显示四舍五入的尺寸。

作为一个拇指规则,我试图通过确保@ 1x图像资产是整数,并且@ 2x和@ 3x图像是精确倍数,来获得不会出现此类问题的设计资产。很难相信我经常收到的图像不是精确的倍数,但仍然可以很好地呈现,但有时由于不匹配而在更高分辨率的屏幕上看起来很模糊。 (这在4S和iPhone 5天期间显而易见)。

既然没有必要为@ 1x设计,因为所有设备都是视网膜(除非您支持旧版本的iOS),即使在@ 2x设计资产时也会出现问题。如果@ 2x图像为53x53,则@ 3x图像的尺寸将为79.5x79.5。

因此,如果设计师正在设计@ 2x,那么很容易忘记@ 3x图像现在的尺寸可能不是整数。

此类资产会导致您认为它是一个维度的问题,而XCode会显示偏离1像素的维度。

关于blank.imageset

  

这些文件出现在名为blank.imageset的文件夹中,其中blank是图像集的名称。   不知道为什么会这样做。

图像集名称和实际图像名称可能不同,使用时在代码中使用图像集,实际上是使用图像集名称,而不是单个图像名称。

您可以将图片设为lion.png, animal@2x.png, cat@3x.png并将其放入图片资源文件夹,然后创建blank.imageset。再次点按blank.imageset,您可以将其重命名为cat.imageset。您可以在代码中将此图片用作.....imageNamed: "cats"......