У меня есть UIView внутри UIScrollView, оба созданы с использованием IB. UIView прокручивается горизонтально внутри UIScrollView. Я хочу обнаружить два пальца влево и вправо.
Заимствуя из примера кода, который я нашел в SmpleGestureRecognizers , я поместил следующий код в метод viewDidLoad объекта ViewController UIScrollView ...
UIGestureRecognizer *recognizer;
UISwipeGestureRecognizer *swipeRightRecognizer, *swipeLeftRecognizer;
recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
swipeRightRecognizer = (UISwipeGestureRecognizer *)recognizer;
swipeRightRecognizer.numberOfTouchesRequired = 2;
[self.view addGestureRecognizer:swipeRightRecognizer];
[recognizer release];
recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
swipeLeftRecognizer = (UISwipeGestureRecognizer *)recognizer;
swipeLeftRecognizer.numberOfTouchesRequired = 2;
swipeLeftRecognizer.direction = UISwipeGestureRecognizerDirectionLeft;
[self.view addGestureRecognizer:swipeLeftRecognizer];
[recognizer release];
Я установил в viewcontroller.h. и иметь следующий метод делегата ...
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
return YES;
}
Я предполагаю, что это допустимый метод делегата gestRecognizer, но я не могу найти ссылку на него в документации.
Я не получаю никаких ошибок, но ничего не происходит, когда я делаю два пальца. Метод делегата не вызывается и не является моим методом действия. Я попытался удалить вызов numbeOfTouchesRequired, чтобы проверить, может ли он работать одним касанием пальца, но безрезультатно.
Я добавляю жест-распознаватель к нужному виду? Я попытался добавить его в UIView, UIScrollView, а также self.view.superView.
Пример кода работает отлично. Единственное различие, которое я вижу между моей реализацией кода и примера кода, заключается в том, что я использовал IB для создания представлений, а пример кода - нет. Я подозреваю, что что-то потребляет жест смахивания до того, как оно попадет к моим распознавателям.
Что я делаю не так.
Спасибо
John