UIWebView: отменить открытие ссылки, когда «подправить» находится за пределами ссылки? - PullRequest
6 голосов
/ 18 марта 2011

У меня есть UIWebView со ссылками в тексте, которые открывают Safari при нажатии.

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

Есть ли какой-нибудь способ, позволяющий пользователю "отменить" свой "щелчок", отодвинув палец - в соответствии с поведением кнопки "подправить внутрь"?

1 Ответ

2 голосов
/ 27 марта 2011

Невозможно сделать именно то, что вы просили, с помощью общедоступного SDK.
Лучший ответ, который я могу придумать, - это отслеживать начало касания и события касания для самого UIWebView.Затем добавьте UIWebviewDelegate, а в интерфейс этого делегата добавьте логическое значение bLastTouchDidWander (имя, например, чисто)

При касании вниз вы устанавливаете bLastTouchDidWander в значение false.

При касании ВВЕРХ вы измеряете, насколько далеко сдвинулось касание.Если он переместился больше, чем на заданную величину, считайте, что это «подправить снаружи», и установите для bLasTTouchDidWander значение true.

Затем для сообщения webView:shouldStartLoadWithRequest:navigationType: UIWebViewDelegate, если bLastTouchDidWanderверно, не переходите по ссылке.

...