728x90
출처 : Freehand drawing on iOS in Swift - Ilya Puchka
override func touchesBegan(_ touches: Set<uitouch>, with event: UIEvent?) {
if let touch = touches.first {
messageLabel.text = "touchesBegan"
tapCountLabel.text = String(touch.tapCount)
touchCountLabel.text = String(touches.count)
lastPoint = touch.location(in: drawImageView)
}
}
override func touchesMoved(_ touches: Set<uitouch>, with event: UIEvent?) {
if let touch = touches.first {
messageLabel.text = "touchesMoved"
tapCountLabel.text = String(touch.tapCount)
touchCountLabel.text = String(touches.count)
lineWidth = CGFloat(Int(textLineWidth.text!)!);
UIGraphicsBeginImageContext(drawImageView.frame.size)
if let context = UIGraphicsGetCurrentContext() {
context.setLineWidth(lineWidth)
context.setStrokeColor(lineColor)
context.setLineCap(CGLineCap.round)
drawImageView.image?.draw(in: CGRect(origin: CGPoint(x : 0, y : 0), size: drawImageView.frame.size))
context.move(to: lastPoint)
let currentPoint = touch.location(in: drawImageView)
context.addLine(to : currentPoint)
context.strokePath()
drawImageView.image = UIGraphicsGetImageFromCurrentImageContext()
lastPoint = currentPoint
}
UIGraphicsEndImageContext()
}
}
override func touchesEnded(_ touches: Set<uitouch>, with event: UIEvent?) {
if let touch = touches.first {
messageLabel.text = "touchesEnded"
tapCountLabel.text = String(touch.tapCount)
touchCountLabel.text = String(touches.count)
}
}728x90