У меня есть изображение внутри UIImageView, которое имеет жест для масштабирования, как вы можете видеть из кода.iOS Добавить tap Жест к UIImageView
Я хочу иметь возможность вставлять кликируемые области изображения, а не на экран, поэтому, если я нажимаю точку изображения с минимальным или максимальным масштабированием, я всегда возвращаю то же значение.
Я мог бы сказать UIGestureRecognizer, могу ли я это сделать? Почему я не могу понять, работает ли я или нет.
благодарит
Мой код:
UITapGestureRecognizer *twoFingerTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTwoFingerTap:)];
[twoFingerTap setNumberOfTouchesRequired:2];
[img addGestureRecognizer:twoFingerTap];
float minimumScale = 0.4;//This is the minimum scale, set it to whatever you want. 1.0 = default
scroll.maximumZoomScale = 4.0;
scroll.minimumZoomScale = minimumScale;
scroll.zoomScale = minimumScale;
[scroll setContentMode:UIViewContentModeScaleAspectFit];
[img sizeToFit];
[scroll setContentSize:CGSizeMake(img.frame.size.width, img.frame.size.height)];
[control setSelectedSegmentIndex:0];
[control addTarget:self
action:@selector(action:)
forControlEvents:UIControlEventValueChanged];
//THIS IS MY RECOGNIZER ON IMAGE
UIGestureRecognizer *recognizerImage = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapImage:)];
[(UITapGestureRecognizer *)recognizer setNumberOfTapsRequired:2];
[img addGestureRecognizer:recognizer];
}
- (void)tapImage:(UITapGestureRecognizer *)recognizer {
CGPoint location = [recognizer locationInView:self.view];
NSLog(@"x %f y %f",location.x, location.y);
}
Хорошо, вы наметили проблему. Что вы сделали для его решения? Вам нужно придумать логику, которая использует пропорцию исходного размера изображения к текущему размеру изображения, чтобы преобразовать координаты вида в координаты изображения. –
http://stackoverflow.com/questions/9008975/how-to-tap-to-zoom-and-double-tap-to-zoom-out-with-uiscrollview/9009554#9009554 –