Drawing user generated pictures with Cocoa Touch is a 2 step process. A UIView will only draw the latest touch you hand it after clearing all the previously user drawn stuff.
One possible solution is to save all the user touches in a history array and (re)draw all of them into the view after any new touch is added. But this can be very slow, depending on the amount of drawing required.
Another possible 2 step method is to create your own bitmap drawing context. First draw your new latest thing into this context, which will have kept the older portions of the drawing if configured correctly, then draw this context into the UIView (or convert the bitmap to an image displayed in a layer over the view).