@IBInspectable何时被设置?

17

我有一些属性被设置为@IBInspectable,所以我可以在Interface Builder中编辑它们,但是当运行时,这些属性何时设置?

我尝试在init期间使用它们,但它们还没有被设置。

这就是我想要做的事情。但是我甚至无法将Timer Init移动到TimerView Init,因为在调用init时,@IBInspectable变量还没有被设置。

class TimerView {
    var timer:Timer? = Timer(timeInterval: time1, alertTimeInterval: time2)
    @IBInspectable var time1: Double = 0
    @IBInspectable var time: Double = 0
}
1个回答

28

像 IB 中的任何设置一样,它将在加载 xib 文件时设置。您希望在 awakeFromNib() 中设置定时器。

override func awakeFromNib() {
    super.awakeFromNib()
    timer = //IBInspectable elements now set
} 

2
你需要调用super.awakeFromNib()。 - A'sa Dickens

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接