我有一个UIButton
子类,其生成如下:
class MoreOptionsButton: UIButton {
override func draw(_ rect: CGRect) {
let path = UIBezierPath(ovalIn: rect)
UIColor.red.setFill()
path.fill()
let r = CGRect(x: rect.width * 0.5 - rect.width * 0.15 * 0.5, y: rect.height * 0.5 - rect.height * 0.15 * 0.5, width: rect.width * 0.15, height: rect.height * 0.15)
var circlePath = UIBezierPath(ovalIn: r)
UIColor.white.setFill()
circlePath.fill()
circlePath = UIBezierPath(ovalIn: r.offsetBy(dx: -rect.width / 4.0, dy: 0.0))
UIColor.white.setFill()
circlePath.fill()
circlePath = UIBezierPath(ovalIn: r.offsetBy(dx: rect.width / 4.0, dy: 0.0))
UIColor.white.setFill()
circlePath.fill()
}
}
看起来像这样:
但是,当我在模拟器中按下此按钮时,它不会像普通的System
类型的按钮那样自动变暗。 请问如何实现此效果?