我正在做一个在视图上绘制形状的项目。用于创建形状并添加到视图中的UIBezierPath

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,然后在视图上调用setNeedsDisplay(),这将再次触发调用drawRect
就我个人而言,我会将strokeColor放在一个带有didSet的属性中,而不是放在drawRect方法的局部变量中。然后,当我更新strokeColor时,它会自动触发视图的重绘:

var strokeColor: UIColor? {
    didSet { setNeedsDisplay() }
}

关于swift - 在Swift中添加到View后如何更改UIBezierPath的颜色?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34055504/

10-09 21:06