【发布时间】:2018-01-10 01:35:06
【问题描述】:
我有标签、按钮、视图等的自定义类。
示例类:
class PopupButton: UIButton {
override func awakeFromNib() {
self.layer.borderWidth = 1.3
self.layer.borderColor = fadedTextColor.cgColor
self.layer.cornerRadius = 10
self.layer.backgroundColor = whiteColor.cgColor
self.setTitleColor(textHeaderColor, for: .normal)
}
}
当我更改颜色时,即:fadedTextColor 我希望这个 PopupButton 类立即反映该更改。
我怎样才能做到这一点?
感谢您的宝贵时间。
【问题讨论】:
-
与您的问题无关,但在覆盖 awakeFromNib 方法时必须调用
super.awakeFromNib() -
为
fadedTextColor创建一个didSet,它会适当地更新其他内容 -
fadedTextColor 声明在哪里?它是您的 PopupButton 的属性吗?
-
在stackoverflow.com/questions/38585344/… 有一个关于将事物移动到
struct或enum的论据以及在stackoverflow.com/questions/42050283/… 的另一个关于颜色(扩展名或结构)的论据,这取决于你在做什么,这些可能给你一个好的方向。 -
我从来没有说过它会解决你的问题。您应该创建一个单例类,而不是将变量转储到文件中。
标签: ios swift custom-controls