我关注了this tutorial以便为界面生成器创建可重用的 UI 组件。我完全按照文章进行操作,得到的结果与文章中解释的相同。
我没有遇到的问题是我在类中添加了一个名为 style 的 @IBInspectable
属性,它在界面构建器的属性检查器中显示良好,但是无论我做什么它总是在 MyButton
类的 Setup()
和 loadViewFromNib()
方法中返回 nil。
作为 Interface Builder 自定义组件的新手,我开始怀疑文章中遵循的方法是否会破坏 @IBInspectable 属性,因为我已经通过使用自定义 UIButton 类成功地使用了它们,而没有添加额外的 XIB 组件。
如有任何帮助,我们将不胜感激。
@IBDesignable
class MyButton: UIButton {
@IBOutlet weak var view: UIButton!
@IBInspectable var style: String!
...
最佳答案
您永远不会使用默认值初始化变量。
尝试将它设置为一个空字符串并像这样删除显式解包:
@IBInspectable var style: String = ""
关于ios - @IBInspectable 在自定义按钮类中返回 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45399421/