我已经使用油漆代码制作了一个按钮:
class AddIconView: OUIButton {
override func draw(_ rect: CGRect) {
AddIcon.draw(frame: rect)
}
}
然后我将其类添加到Uibutton。问题是,触摸后不再突出显示该按钮,添加亮点的最佳方法是什么?例如,此按钮:
@IBOutlet weak var addButton: AddIconView!
非常感谢您提前的帮助
编辑:
我为此创建了一个自定义类:
class OUIButton: UIButton {
override var isHighlighted: Bool {
get {
return super.isHighlighted
}
set {
if newValue {
backgroundColor = .green
}
else {
backgroundColor = .blue
}
super.isHighlighted = newValue
}
}}
对于测试,我添加了蓝色和绿色。使用此代码,当我触摸按钮时,背景将变成蓝色。我希望它仅在触摸时才更改,并且发布后,它又回到了正常状态,就像普通的uibutton
它已解决,这是想要使用的任何人的代码:
class OUIButton: UIButton {
override var isHighlighted: Bool {
get {
return super.isHighlighted
}
set {
if newValue {
UIView.animate(withDuration: 0.25, delay: 0, options:.curveEaseIn , animations: {
self.alpha = 0.5
}, completion: nil)
}
else {
UIView.animate(withDuration: 0.25, delay: 0, options:.curveEaseOut , animations: {
self.alpha = 1
}, completion: nil)
}
super.isHighlighted = newValue
}
}}