【发布时间】:2016-08-13 23:02:36
【问题描述】:
我创建了一个圆形绿色按钮。这是 CircularButton.swift,我在其中定义了颜色和形状,如下所示:
import UIKit
class CircularButton: UIButton {
@IBInspectable var fillColor: UIColor = UIColor.green
override func draw(_ rect: CGRect) {
let path = UIBezierPath(ovalIn: rect)
fillColor.setFill()
path.fill()
}
}
这是屏幕截图。
在按下按钮时,我想将其颜色更改为红色。我定义的函数如下:
@IBAction func circularButtonPressed(_ sender: CircularButton) {
sender.fillColor = UIColor.red
sender.draw(CGRect(x: 0, y: 0, width: sender.frame.width,
height: sender.frame.height))
}
知道为什么颜色没有变成红色吗?
注意:如果我添加以下行:
sender.backgroundColor = UIColor.white
在上述函数中,按钮颜色变为红色。
感谢您的帮助。
【问题讨论】:
-
感谢您的正确指导。