Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/121.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 是否有义务使用Assets.xAssets?_Ios_Swift_Image_Sprite Kit_Assets - Fatal编程技术网

Ios 是否有义务使用Assets.xAssets?

Ios 是否有义务使用Assets.xAssets?,ios,swift,image,sprite-kit,assets,Ios,Swift,Image,Sprite Kit,Assets,我想知道我们是否要将图像放在xcodeAssets.xcsets中,或者一个图像文件就足够了 谢谢否。不需要使用.xcsets文件。您还可以将图像和其他资源添加到Xcode项目中 不过,如果可能的话,我会一直使用资产目录,因为它提供了强大的功能,例如为不同的设备/色域使用不同的图像等。 自2018年WWDC起: “…对于应用程序附带的艺术品,我们强烈建议您使用图像资产。原因有很多。” 其中一些原因: 图像资源针对基于名称和基于特征的查找进行了优化。在资源目录中查找图像资源比在磁盘上搜索具有特定

我想知道我们是否要将图像放在xcodeAssets.xcsets中,或者一个图像文件就足够了


谢谢

否。不需要使用
.xcsets
文件。您还可以将图像和其他资源添加到Xcode项目中

不过,如果可能的话,我会一直使用资产目录,因为它提供了强大的功能,例如为不同的设备/色域使用不同的图像等。

自2018年WWDC起:

“…对于应用程序附带的艺术品,我们强烈建议您使用图像资产。原因有很多。”

其中一些原因:

  • 图像资源针对基于名称和基于特征的查找进行了优化。在资源目录中查找图像资源比在磁盘上搜索具有特定命名方案的文件更快

  • “管理缓冲区大小”

  • “…每设备细化,这意味着您的应用程序只下载与要运行的设备和矢量艺术品相关的图像资源。”

  • 矢量艺术品优化:“…如果在大于或小于图像原始大小的图像视图中渲染图像,则图像不会变得模糊。实际上,图像是从矢量图中重新光栅化的。。。实际上,资产目录编译器已经生成了该图像的预光栅化版本,并将其存储在资产目录中。因此,与将矢量艺术品光栅化为位图的复杂数学运算不同,我们可以对存储在资源目录中的图像进行解码,并将其直接渲染到帧缓冲区中。”


这不是一个详尽的列表,请单击链接了解更多信息。因此,要回答问题,当然不需要使用资产目录,但出于上述原因,不将其用于随应用程序交付的艺术品将是愚蠢的。

回答正确。(投票)我同意这一点,但我确实在努力以编程方式在资产目录中创建一个图像名称列表。如果图像存储在捆绑包中的文件夹中,这一点很简单。@Scooter:签出。它正是为此而设计的。它可以为包括图像在内的多种资产生成访问器。