我正在从事一个在 View 中绘制形状的项目。 UIBezierPath
用于创建形状并添加到 View 中。
var frame: CGRect = bounds
var strokeColor: UIColor = UIColor.lightGrayColor()
var ovalPath = UIBezierPath(ovalInRect: CGRectMake(frame.minX + floor((frame.width - 79) * 0.50000 + 0.5), frame.minY + floor((frame.height - 79) * 0.50000 + 0.5), 79, 79))
UIColor.whiteColor().setFill()
ovalPath.fill()
strokeColor.setStroke()
ovalPath.lineWidth = 1.5
ovalPath.stroke()
我的问题是:如何通过点击更改形状的颜色?
最佳答案
我假设这是在 drawRect
方法中?只需更新 strokeColor
,然后在 View 上调用 setNeedsDisplay()
,这将再次触发 drawRect
的调用。
就我个人而言,我会将 strokeColor
放在具有 didSet
的属性中,而不是 drawRect
方法的局部变量中。然后,当我更新 strokeColor
时,它会自动触发 View 的重绘:
var strokeColor: UIColor? {
didSet { setNeedsDisplay() }
}
关于swift - 在 Swift 中添加到 View 后如何更改 UIBezierPath 的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34055504/