【问题标题】:How do I call images from xcassets?如何从 xcassets 调用图像?
【发布时间】:2018-07-22 19:13:06
【问题描述】:

如何调用保存在 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 文件...

【问题讨论】:

  • 您确定您的图片名为8k_earth_daymap.jpg?是抛出编译错误还是运行时错误?你能分享你得到的错误吗?

标签: swift augmented-reality


【解决方案1】:

earth.geometry?.firstMaterial?.diffuse.contents = "#imageLiteral(resourceName:8k_earth_daymap) 不是真正的代码;有一个额外的引号,所以这不会编译。

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

最后,“我已经保存在 xcassets 文件夹中”这句话令人担忧。您不得将 anything 手动放入 xcassets 文件夹。你必须让 Xcode 来做。您只需在项目导航器中编辑资产目录,并通过 Xcode 的资产目录编辑器窗口工作。如果你没有通过这个窗口工作,那么你做错了:

【讨论】:

    【解决方案2】:

    谢谢你,@matt。你的建议有帮助。我在不需要时添加了 jpg 扩展名。我也使用图像文字来调用图像,但由于某种原因,它不起作用。我能够使用 UIImage 调用图像。

    【讨论】:

      猜你喜欢
      • 2014-04-16
      • 1970-01-01
      • 1970-01-01
      • 2015-05-11
      • 2013-10-01
      • 2016-07-16
      • 2017-10-08
      • 2021-08-29
      • 1970-01-01
      相关资源
      最近更新 更多