如何从xcassets调用图像?

时间:2018-07-22 19:13:07

标签: swift augmented-reality

如何调用保存在xcassets文件夹中的图像?

我正在使用ARKit。我想通过在球形结点周围包裹“地球”皮肤来制作“地球”图形。我可以为其分配颜色,如下所示:

earth.geometry?.firstMaterial?.diffuse.contents = UIColor.blue

但是我无法使用以下任一种来分配纹理:

earth.geometry?.firstMaterial?.diffuse.contents = "#imageLiteral(resourceName:8k_earth_daymap)

earth.geometry?.firstMaterial?.diffuse.contents = UIImage(named:"8k_earth_daymap.jpg")

我使用了错误的命令吗?似乎Xcode无法识别我已经本地保存在xcassets中的8k_earth_daymap.jpg文件...

2 个答案:

答案 0 :(得分:1)

earth.geometry?.firstMaterial?.diffuse.contents = "#imageLiteral(resourceName:8k_earth_daymap)不是真实代码;有一个额外的引号,因此将无法编译。

earth.geometry?.firstMaterial?.diffuse.contents = UIImage(named:"8k_earth_daymap.jpg")是错误的,因为.jpg不会是图像集名称的一部分。

最后,短语“我已保存在xcassets文件夹中”令人担忧。您不得将任何内容手动放入xcassets文件夹中。您必须让Xcode做到这一点。您只需在项目导航器中编辑资产目录,并通过Xcode的资产目录编辑器窗口进行工作。如果您不在此窗口中工作,那说明您做错了:

enter image description here

答案 1 :(得分:0)

谢谢,@ matt。您的建议有所帮助。我在不需要时添加了jpg扩展名。我还使用Image Literal调用了该图像,但是由于某种原因,它不起作用。我能够使用UIImage调用图像。