我已经使用PaintCodes代码创建了一个按钮:
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
答案 0 :(得分:0)
已解决,以下是任何想要使用的人的代码:
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
}
}}