我遵循this tutorial以便为界面构建器创建可重用的UI组件。我已经完全按照文章进行了操作,得到的结果与文章中所述的相同。
我没有的问题是,我在类中添加了一个名为style的@IBInspectable
属性,该属性在界面生成器的属性检查器中可以正常显示,但是无论我做什么,在Setup()
和loadViewFromNib()
中总是返回nil MyButton
类的方法。
作为Interface Builder定制组件的新手,我开始怀疑本文中遵循的方法是否破坏了@IBInspectable属性,因为我过去通过使用定制UIButton类成功使用了它们,而没有添加额外的XIB组件。
任何帮助将非常感激。
@IBDesignable
class MyButton: UIButton {
@IBOutlet weak var view: UIButton!
@IBInspectable var style: String!
...
最佳答案
您永远不会使用默认值初始化变量。
尝试将其设置为一个空字符串,并删除如下所示的显式展开:@IBInspectable var style: String = ""