我在IBDesignable视图中有一个IBInspectable按钮。我尝试了几种方法,但当我运行我的程序时,我的图标不显示。最糟糕的是:我可以在我的视图内的故事板上看到它,但当我运行时,图标没有设置。
我做错了什么,我不明白
@IBDesignable class CustomView: UIView {
@IBOutlet weak var firstIcon: UIButton!
//Not working
override func prepareForInterfaceBuilder() {
let designTimeBundle = Bundle(for: CustomView.self)
let image = UIImage(named: "home", in: designTimeBundle,
compatibleWith: nil)
firstIcon.setImage(image, for: .normal)
}
//Not working either
@IBInspectable var firstButtonIcon: UIButton {
let bundle = Bundle(for: CustomView.self)
let image = UIImage(named: "home", in: bundle,
compatibleWith: nil)
firstIcon.setImage(image, for: .normal)
return firstIcon
}
//And still not
@IBInspectable var firstButtonIcon: UIButton! {
firstIcon.setImage(UIImage(named: "home"), for: .normal)
return firstIcon
}
}发布于 2019-01-21 19:16:09
你的代码永远不会工作。首先阅读有关如何使用IBInspectable的文档。它适用于UIImage、UIColor、Float、Int、Double等类型的变量。它永远不适用于UIButton类型的变量。另外,如果你要在故事板中使用IBDesignable来显示它们,那么你必须拥有相同的getter和setter。
我建议您阅读一些关于如何以及何时使用IBDesignalbe和IBInspectable的很好的教程或文档
https://stackoverflow.com/questions/54288246
复制相似问题