Как стереть часть изображения, когда пользователь прикасается к ней

Моя большая цель - создать серое поле над изображением, а затем, когда пользователь потирает это серое поле, оно отображает изображение под ним. В основном, как лотерея скретч-карты. Я выполнил кучу поиска по документам, а также по этому сайту, но не могу найти решение.

Следующее является просто доказательством концепции тестирования «стирания» изображения в зависимости от того, где пользователь касается, но оно не работает. :(

У меня есть UIView, который обнаруживает прикосновения, а затем отправляет координаты перемещения в UIViewController, который обрезает изображение в UIImageView, выполнив следующие действия:

- (void) moveDetectedFrom:(CGPoint) from to:(CGPoint) to
{
    UIImage* image = bkgdImageView.image;
    CGSize s = image.size;
    UIGraphicsBeginImageContext(s);
    CGContextRef g = UIGraphicsGetCurrentContext();

    CGContextMoveToPoint(g, from.x, from.y);
    CGContextAddLineToPoint(g, to.x, to.y);
    CGContextClosePath(g);
    CGContextAddRect(g, CGRectMake(0, 0, s.width, s.height));
    CGContextEOClip(g);
    [image drawAtPoint:CGPointZero];
    bkgdImageView.image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    [bkgdImageView setNeedsDisplay];
}

Проблема в том, что штрихи к этому методу отправляются просто отлично, но на оригинале ничего не происходит.

Я делаю путь клипа неправильно? Или же?

Не совсем уверен ... поэтому любая помощь, которую вы можете иметь, будет принята с благодарностью.

Заранее спасибо, Джоэл

Ответы на вопрос(2)

Ваш ответ на вопрос