iOS: можно ли перехватывать пролистывания поверх UIWebView? - PullRequest
1 голос
/ 22 сентября 2011

Я хочу, чтобы пользователь мог пролистывать влево, вправо, вверх и вниз в UIWebview, но я не хочу, чтобы HTML / Javascript обрабатывал эти свипы - я хочу сделать это сам.

Возможно ли это: перехватить только размах?Я хочу, чтобы касания все еще проходили через UIWebview.

Спасибо.

Ответы [ 2 ]

5 голосов
/ 22 сентября 2011

Конечно.
Просто присоедините подкласс UIGestureRecognizer к этому представлению и удерживайте для вызовов ...

    UISwipeGestureRecognizer* leftSwipeRecognizer = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(someAction)];
    leftSwipeRecognizer.numberOfTouchesRequired = 1;
    leftSwipeRecognizer.direction = UISwipeGestureRecognizerDirectionLeft;
    leftSwipeRecognizer.cancelsTouchesInView = YES;
    [self.webView addGestureRecognizer:leftSwipeRecognizer];

есть некоторый пример для жеста влево.Вы можете установить больше с очень похожим подходом ...
Надеюсь, что поможет.

0 голосов
/ 22 сентября 2011

Если вы добавите UISwipeGestureRecognizer в UIWebview с

addGestureRecognizer: 

это позволит вам получить эти события. Я считаю, что по умолчанию разрешено использовать только один распознаватель за раз, но я не уверен, применимо ли это к отдельным типам жестов или ко всем типам жестов, поэтому это может быть только первым шагом в решении вашей проблемы.

...