Как стереть линии рисования в UIView

Я нарисовал линию на UIView. Работает нормально. Я сделал то же, что описано здесь: [вопрос]: http: //stackoverflow.com/questions/2595446/drawing-an-image-is-completely-out

А теперь мне нужно стереть эти строки. «Стереть» означает, что после того, как я проведу пальцем по сенсорному экрану, мне нужно его стереть. Прямо как ластик. Как мне это сделать?


person Gayan    schedule 13.07.2011    source источник


Ответы (2)


Если вы просите стереть всю строку, когда пользователь прикасается к ней, я не знаю, как вы можете этого добиться, но если вы просите стереть часть строки, к которой прикоснулся пользователь, вы можете нарисовать линию цвета вида, который вы используете, чтобы провести линию, таким образом вы получите эффект ластика.

person Robin    schedule 13.07.2011
comment
Это тоже фоновое изображение. Это внизу UIView. Я рисую линию на втором виде. Он создается поверх первого вида. Так '' - person Gayan; 13.07.2011
comment
Я думаю, вы можете нарисовать линию со значением альфа как 0, которая пересекает линию под ней. Вы пробовали это или нет. - person Robin; 13.07.2011
comment
CGContextTranslateCTM (контекст, 0, rect.size.height); CGContextScaleCTM (контекст, 1.0, -1.0); CGContextDrawImage (контекст, прямоугольник, imageRef); CGImageRelease (imageRef); CGContextTranslateCTM (контекст, 0, rect.size.height); CGContextScaleCTM (контекст, 1.0, -1.0); } [erasImage drawAtPoint: lastPoint blendMode: kCGBlendModeDestinationOut alpha: eraseSpeed]; CGContextSetFillColorWithColor (контекст, [UIColor redColor] .CGColor); CGContextFillRect (контекст, прямоугольник); } imageRef = CGBitmapContextCreateImage (контекст); } ` - person Gayan; 13.07.2011
comment
это мой код опции стирания .. но он запускается методом - (void) drawRect: (CGRect) rect. Итак, вот место, которое загружает начальное значение в мою фоновую основу; CGContextSetFillColorWithColor (контекст, [UIColor redColor] .CGColor); CGContextFillRect (контекст, прямоугольник); Мне нужно передать мой drawImage.image = UIGraphicsGetImageFromCurrentImageContext (); к их? ты понял то, что я сказал? Спасибо :) - person Gayan; 13.07.2011

Вы должны вызвать setNeedsDisplayInRect: (UIView), чтобы сделать прямоугольник строки недопустимым. Только этот прямоугольник будет перерисован до следующего цикла рисования.

Убедитесь, что у вас есть флаг в методе drawRect:, который вы можете запросить, который определяет, нужно ли рисовать линию или нет.

person Florian Mielke    schedule 13.07.2011
comment
ссылка Найдите эту ссылку. и также проверьте этот код; // В первый раз мы начинаем с сплошного цвета CGContextSetFillColorWithColor (context, maskColor.CGColor); CGContextFillRect (context, rect) Если я загружу сюда свой рисунок, он будет работать нормально. Как мне загрузить сюда свой рисунок? - person Gayan; 13.07.2011