Добавить 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");
}
Ответы
Ответ 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;
}