UIScrollView в конфликтах UIWebView и UITapGestureRecognizer - PullRequest
1 голос
/ 11 марта 2012

У меня есть UITapGestureRecognizer на UIViewController, внутри которого есть UIScrollView и UIWebView. Он распознает жест касания только после того, как я прокручиваю UIWebView. Как я мог предотвратить это? По сути, я хочу, чтобы жест касания был обнаружен, когда я не прокручиваю веб-представление. Я оглянулся вокруг, и самое близкое, что я нашел, это:

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

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

Еще одна вещь, которую я хочу сделать, - отключить UITapGestureRecognizer, когда щелкают ссылку на UIWebView (вызывается shouldStartLoadWebRequest). Я проверил, что вызывается распознаватель жестов касания, до того, как будет вызван shouldStartLoadWebRequest. Обычно при нажатии на ссылку в UIWebView он не должен запускать действие, вызываемое UITapGestureRecongnizer. Есть идеи, как это сделать?

1 Ответ

0 голосов
/ 12 марта 2012

Так что документация Apple настоятельно рекомендует вы не вкладываете UIWebView в представление прокрутки:

Важно: вам не следует встраивать объекты UIWebView или UITableView в объекты UIScrollView,Если вы это сделаете, это может привести к неожиданному поведению, поскольку сенсорные события для двух объектов могут быть смешаны и неправильно обработаны.

Возможно, на iOS 5 и выше получить прямой доступ к базовому представлению прокруткина UIWebView (используя scrollView) свойство - игра с этим может помочь вам.

...