Programming/Swift
Swift - Free Draw
파란크리스마스
2017. 7. 1. 09:46
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