У меня есть распознаватель жестов, прикрепленный к моему scrollView (один поверх стандартного). Я пытаюсь включить и отключить его на определенных уровнях масштабирования, но это не работает. Я использую команды:
[self.pinchGesture setEnabled:NO];
and
[self.pinchGesture setEnabled:YES];
для включения и отключения жеста сжатия. Я пытаюсь его отладить и использую этот код, чтобы распечатать описание моих жестов:
NSArray *gestures = [self.scrollView gestureRecognizers];
for (UIGestureRecognizer *gesture in gestures) {
NSLog(@"%s, gesture: %@", __FUNCTION__, [gesture description]);
}
Я вижу, что для моего пользовательского жеста это выглядит так:
gesture: <UIPinchGestureRecognizer: 0x88a62d0; state = Possible; enabled = NO; view = <UIScrollView 0x880c360>; target= <(action=handlePinch
Таким образом, несмотря на то, что он установлен в enabled = NO
, щипок по-прежнему вызывает метод handlePinch:. Есть причина для этого? Или мне нужно использовать [self.scrollView setGestureRecognizers:<#(NSArray *)#>
, чтобы убрать этот жест щипка? Если я буду использовать этот подход, нужно ли мне перебирать мои жесты для scrollView, сохранять ссылки на них, а затем устанавливать их, чтобы я не возвращал свой собственный жест сжатия? Спасибо.