Я программировал в Objective C уже пару недель, а функция небольшого приложения для iPhone, которое я делаю, это рисовать линии над изображением. В viewDidLoadMethod мой взгляд контроллера я инициализацию UIPanGestureRecognizer сРисование пользовательского пути на UIImageView
UIPanGestureRecognizer *panGestureRecognizer = [[UIPanGestureRecognizer alloc]
initWithTarget:self action:@selector(drawLine:)];
[panGestureRecognizer setMinimumNumberOfTouches:1];
[panGestureRecognizer setMaximumNumberOfTouches:1];
[self.imageView addGestureRecognizer:panGestureRecognizer];
panGestureRecognizer = nil;
Функция, которая реагирует на panGestureRecognizer является
- (void)drawLine:(UIPanGestureRecognizer *)panGestureRecognizer {
CGPoint start = [panGestureRecognizer locationInView:self.imageView];
CGPoint shift = [panGestureRecognizer translationInView:self.imageView];
CGPoint final;
final.x = start.x + shift.x;
final.y = start.y + shift.y;
UIBezierPath *path = [[UIBezierPath alloc] init];
[path moveToPoint:start];
[path addLineToPoint:final];
[path strokeWithBlendMode:kCGBlendModeNormal alpha:1.0];
}
Код выполняется, когда я пошевелить пальцем на изображение, но не появляются линии. Я не уверен, что это означает, что он находится за образ, который уже находится в imageView, или если он вообще не нарисован. Любая помощь о том, как подойти к этой проблеме, будет оценена, не уверен, что я на правильном пути. Благодарю.
Большое спасибо для обоих ваших ответов. – mcfisty