Нарисуйте проведите с 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