我正在尝试创建一个允许用手指在屏幕上画线的应用。目前绘制了一条简单的蓝线。 我想有刷效果。
我尝试了CGContextDrawImage(),它不起作用,因为线不连续并且快速移动手指线变成许多不同的点。
我在线搜索,找到的唯一解决方案是使用图像模式绘制线条,但我无法使用核心图形。 有一种简单的方法可以用图案图像替换颜色吗?
override func drawRect(rect: CGRect) {
var context = UIGraphicsGetCurrentContext()
CGContextBeginPath(context)
for line in lines {
CGContextMoveToPoint(context, (line.start?.x)!, (line.start?.y)!)
CGContextAddLineToPoint(context, (line.end?.x)!, (line.end?.y)!)
}
CGContextSetLineCap(context, CGLineCap.Round)
CGContextSetLineWidth(context, 50)
CGContextSetRGBStrokeColor(context, 0, 129/255, 196/255, 0.4)
CGContextStrokePath(context)
}
func drawLine(gesture: UIPanGestureRecognizer) {
let currentPoint = gesture.locationInView(self)
if gesture.state == .Began{
lastPoint = currentPoint
} else if gesture.state == .Changed {
lines.append(Line(start: lastPoint, end: currentPoint))
lastPoint = currentPoint
}
self.setNeedsDisplay()
}