通过NSImage(named: "image_name")
进行的常规加载显然使IBDesignable渲染器崩溃,因为它显然在单独的捆绑软件中运行。
在iOS中,有一种解决方法可以显式加载捆绑中传递的图像:
let bundle = Bundle(for: self.classForCoder)
let image = UIImage(named: "image_name", in: bundle, compatibleWith: self.traitCollection)!
可可中缺少模拟初始化程序。
还有其他方法可以从Assets目录中加载图像吗?
答案 0 :(得分:0)
如果您使用的是Swift 3或更高版本,则可以尝试使用图像文字。它应该在Xcode中自动完成,因此如果不起作用,则可能表明资产本身存在问题。以UIButton为例:
let myButton = UIButton()
myButton.setImage(#imageLiteral(resourceName: "image_name"), for: .normal)
通过键入Image Literal
,Xcode应该会自动完成并创建一个小图标,您可以双击以打开图像选择器并选择要使用的图像。 here