iphone - порядок сенсорного (тап) события - PullRequest
1 голос
/ 24 августа 2011

У меня есть UIView и UIWebView.

UIWebView является дочерним представлением UIView.

UIWebView содержит видео YouTube и настроен так, чтобы видео соответствовало UIWebView.

У меня есть UITapGesture, связанный с родительским UIView для одного нажатия, скажем, если пользователь одним нажатием коснется всего представления, он вызовет A.

Итак, когда UIWebView загружает видео с YouTube, в верхней части видео находится кнопка, ожидающая, когда пользователи нажмут кнопку воспроизведения. Но теперь, если я нажму на кнопку, YouTube будет проигрываться, но также вызывается и A. Это то, чего я не хочу.

Как мне это решить?

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

Я также попытался добавить еще один UIView в UIWebView и прикрепить этот жест к базовому представлению. Тем не менее, это все еще не работает.

Как я могу сделать так, чтобы кнопка над видео на YouTube была независимой?

спасибо

1 Ответ

1 голос
/ 24 августа 2011

Попробуйте добавить этот код в файл .m вашего представления (если вы используете UIView, создайте его подкласс):

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
    CGPoint p = [self convertPoint:point toView:webView];
    if ([webView pointInside:p withEvent:event]) {
        return [webView hitTest:p withEvent:event];
    }
    return [super hitTest:point withEvent:event];
}

Так как я не пробовал этот код, скажите мне, если он не работает. Есть еще много способов справиться с ситуацией. :)

...