Подтвердить что ты не робот

Добавить UITapGestureRecognizer в UIWebView

В iOS можно ли поместить распознающий кран в UIWebView, чтобы, когда кто-то удаляет веб-представление, выполняется действие?

Код ниже не выглядит как fire handleTap при нажатии на мой webView.

Спасибо.

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self 
                                                                      action:@selector(handleTap)];
tap.numberOfTapsRequired = 1;

[webView addGestureRecognizer:tap];
[tap release]; 


-(void) handleTap {
    NSLog(@"tap");
}
4b9b3361

Ответ 1

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

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
    return YES;
}

Ответ 2

Подкласс UIViewController должен реализовывать UIGestureRecognizerDelegate и возвращать YES из gestureRecognizer: shouldReceiveTouch:, если это необходимо.

Затем вы можете назначить его свойству делегирования вашего UIGestureRecognizer.

tap.delegate = self;

Ответ 3

  • Добавить UIGestureRecognizerDelegate для просмотра контроллера

    <UIGestureRecognizerDelegate>
    
  • Добавьте Tap Gesture в Webview.

    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(flip)];
    tap.numberOfTapsRequired = 1;
    tap.delegate = self;
    [_webview addGestureRecognizer:tap];
    
  • - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer    shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
        return YES;
    }