I\'m trying to make a drawing app. I have a single custom UIView:
class DrawView: UIView {
var touch : UITouch!
var lastPoint : CGPoint!
var currentPoint : CGPo
Two things:
Calling self.setNeedsDisplay
doesn't immediately call drawRect
. It just sets a flag so that drawRect
will be called in the near future. Since you set lastPoint
to currentPoint
right after that, when drawRect
is called lastPoint
is always equal to currentPoint
.
drawRect
redraws the entire view every time it is called, so at most you'd only ever see the most recent line. If you fixed problem 1, you'd have a short line following your finger instead of a dot. If you want to see the whole trail, you'll need to store the points in an array that is a property of your view, and then draw lines to connect all of the points in drawRect
.