我在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
}
}
答案 0 :(得分:0)
您的代码将永远无法使用。首先阅读有关如何使用IBInspectable
的文档。它适用于UIImage
,UIColor
,Float
,Int
,Double
等类型的变量。它永远不适用于UIButton
类型的变量。另外,如果将它们与IBDesignable
一起使用以显示在情节提要中,则必须具有相同的getter和setter方法。
我建议您应该阅读一些有关如何以及何时使用IBDesignalbe
和IBInspectable
的好教程或文档