我正在尝试将位于我的XCode项目中的.PNG图像加载为UIImage
- 但是UIImage
的构造函数返回nil
。
请参阅我的设置屏幕截图:
以下是一些细节:
UIImage
EasyTypeShared
目标,这是一个嵌入到可验证EasyType
项目中的图书馆项目。EasyTypeShared
目标)并运行应用程序编辑:根据this blog,原因可能是工作区设置 - 更准确地说框架正在加载图像。不确定,但缺乏更好的想法,我将遵循这条轨道。如果你能对这件事有所了解,我会非常感谢任何想法。
答案 0 :(得分:2)
问题是由于从资源加载图像的代码驻留在框架中。主bundle不包含框架的资源,需要使用相应的bundle。工作代码:
private let imagePlaceholder = UIImage(named: "ImagePlaceholder.png", inBundle: NSBundle(forClass: CarretMoveController.self)
答案 1 :(得分:1)
这些是images.xcassets的一部分吗?如果不是,则必须使用NSBundle读取它们并获取资源的路径/ URL,所有这些和简单的文件名都不够。
您可以根据Apple文档here将文件添加到资源。相关部分可能是“添加图像集”'之一。
如果您没有images.xcassets,则可以根据here给出的答案之一将其添加到项目中。
答案 2 :(得分:0)
在项目资源管理器中我可以看到图像没有正确命名。 它应该是这样的:
imagePlaceHolder.png
imagePlaceHolder@2x.png
注意文件名末尾的png和文件扩展名之前的@ 2x。