IBDesignable - IBOutlet在属性didSet方法中为零

时间:2015-02-13 22:06:41

标签: ios swift iboutlet ibdesignable

即使我选择适当的视图时,我的属性在IB的属性检查器中可见,但属性的didSet方法不会更新相关的子视图。

这是我的财产:

@IBInspectable var imageRepresentation: UIImage = UIImage() {
    didSet {
        let image = imageRepresentation
        let hv = self.headerImageView
        let bv = self.backgroundImageView

        self.headerImageView.image = imageRepresentation
        self.backgroundImageView.image = imageRepresentation
    }
}

如您所见,我希望将两个UIImageView更新为新图像。但是,当我使用Editor> Debug Selected Views并设置断点,我的每个观点都是零。

我很想听到任何想法。

由于

1 个答案:

答案 0 :(得分:0)

与其在@IBInspectable上设置属性观察器,不如在@IBOutlet上设置属性观察器。请参阅机器人娜塔莎的this post。例如:

@IBInspectable var buttonTitle: String = ""
@IBOutlet weak var titleLabel: UILabel! {
    didSet {
        titleLabel.text = buttonTitle
    }
}