Нарисуйте проведите с UIBezierPath в UIImageView

Я пытаюсь что-то нарисовать в UIImageView.. Я могу без проблем рисовать в UIView, используя следующий код:

@implementation DrawView
{
    UIBezierPath *path; 
}

- (id)initWithCoder:(NSCoder *)aDecoder 
{
    if (self = [super initWithCoder:aDecoder])
    {
        [self setMultipleTouchEnabled:NO]; 
        [self setBackgroundColor:[UIColor whiteColor]];
        path = [UIBezierPath bezierPath];
        [path setLineWidth:2.0]; 
    }
    return self;
}

- (void)drawRect:(CGRect)rect 
{
    [[UIColor blackColor] setStroke];
    [path stroke];
}


- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    UITouch *touch = [touches anyObject];
    CGPoint p = [touch locationInView:self];
    [path moveToPoint:p];
}

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
    UITouch *touch = [touches anyObject];
    CGPoint p = [touch locationInView:self];
    [path addLineToPoint:p]; // (4)
    [self setNeedsDisplay];
}

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
    [self touchesMoved:touches withEvent:event];
}

- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event
{
    [self touchesEnded:touches withEvent:event];
}

Это пропускает imageview.. Что мне нужно, это наоборот. Я хочу нарисовать в uiimageview и пропустить uiview.. Как я могу это сделать? Заранее спасибо..

1 ответ

Поверхность рисования должна быть родительской в ​​иерархии этого набора видов. Таким образом, вы можете рисовать в родительском представлении, в то время как изображение находится под ним.

-Main View
--Drawing View
---UIImageView
Другие вопросы по тегам