具有属性的子类UIButton不会更改UI

时间:2018-10-29 20:09:10

标签: swift uibutton attributes subclass init

我有一个非常简单的UIButton子类,带有1个属性://request.setValue("Bearer SampleToken", forHTTPHeaderField: "X-Authorization") //request.setValue("Bearer SampleToken", forHTTPHeaderField: "auth") 。情节提要中有3个按钮,每个按钮都有此子类的出口。

我希望能够从View Controller中调整bgPropertyColor属性。在下面的示例中,我可以访问bgPropertyColor属性,但是颜色(红色/蓝色/绿色)没有按预期的方式应用于按钮背景。

UIButton

bgPropertyColor

ViewController

class CustomButton:UIButton {

    var bgPropertyColor = UIColor.clear

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        self.backgroundColor = bgPropertyColor
    }

}

如何初始化子类按钮,以便能够在视图控制器上的每个属性上微调属性(背景色)?

1 个答案:

答案 0 :(得分:2)

您可能需要

var bgPropertyColor : UIColor = UIColor.clear {
  didSet {
    self.backgroundColor  = bgPropertyColor 
  }
}

更改bgPropertyColor不会像您期望的那样反映到backgroundColor,也可能是该属性无用,因为您可以直接在IB /代码中更改backgroundColor