使用IBDesignable

时间:2018-10-10 09:54:21

标签: swift xcode macos interface-builder

通过NSImage(named: "image_name")进行的常规加载显然使IBDesignable渲染器崩溃,因为它显然在单独的捆绑软件中运行。

在iOS中,有一种解决方法可以显式加载捆绑中传递的图像:

let bundle = Bundle(for: self.classForCoder) let image = UIImage(named: "image_name", in: bundle, compatibleWith: self.traitCollection)!

可可中缺少模拟初始化程序。

还有其他方法可以从Assets目录中加载图像吗?

1 个答案:

答案 0 :(得分:0)

如果您使用的是Swift 3或更高版本,则可以尝试使用图像文字。它应该在Xcode中自动完成,因此如果不起作用,则可能表明资产本身存在问题。以UIButton为例:

let myButton = UIButton()
myButton.setImage(#imageLiteral(resourceName: "image_name"), for: .normal)

通过键入Image Literal,Xcode应该会自动完成并创建一个小图标,您可以双击以打开图像选择器并选择要使用的图像。 here

可以找到有关图像文字和一般文字的更完整指南。