每次按下自定义按钮时如何设置标准按钮反应?
How do I set a standard button reaction every-time a custom button is pressed down?
我创建了一个自定义按钮,我希望它的背景在每次按下时(应用程序中的任何位置)都略有变化。
我知道如何使用 #selector(self.cardPressed(sender:)), for: .touchDown
在每个视图控制器中执行此操作,但我希望能够在我的 CustomButton class 中进行设置,因此我不需要再次调用它。
我尝试在 CustomButton 上使用 didSet class,但我只能覆盖 isHighlighted,无法弄清楚如何覆盖看起来像 isNoLongerHighlighted 的变量。
override var isHighlighted: Bool {
didSet {
backgroundColor = .red
}
}
Swift 5.2
import UIKit
class CustomButton: UIButton {
override func awakeFromNib() {
super.awakeFromNib()
// Set the unselected background color
backgroundColor = .red
}
override var isHighlighted: Bool {
didSet {
backgroundColor = isHighlighted ? .green : .red
}
}
}
我创建了一个自定义按钮,我希望它的背景在每次按下时(应用程序中的任何位置)都略有变化。
我知道如何使用 #selector(self.cardPressed(sender:)), for: .touchDown
在每个视图控制器中执行此操作,但我希望能够在我的 CustomButton class 中进行设置,因此我不需要再次调用它。
我尝试在 CustomButton 上使用 didSet class,但我只能覆盖 isHighlighted,无法弄清楚如何覆盖看起来像 isNoLongerHighlighted 的变量。
override var isHighlighted: Bool {
didSet {
backgroundColor = .red
}
}
Swift 5.2
import UIKit
class CustomButton: UIButton {
override func awakeFromNib() {
super.awakeFromNib()
// Set the unselected background color
backgroundColor = .red
}
override var isHighlighted: Bool {
didSet {
backgroundColor = isHighlighted ? .green : .red
}
}
}