gpt4 book ai didi

swift - 为PaintCode代码创建的UIButton添加高亮效果

转载 作者:行者123 更新时间:2023-11-30 10:48:49 27 4
gpt4 key购买 nike

我使用 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 一样

最佳答案

已经解决了,这里是代码供任何想要使用的人使用:

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
}
}}

关于swift - 为PaintCode代码创建的UIButton添加高亮效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55112369/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com