iPhone: webView: shouldStartLoadWithRequest: проблема синхронизации с навигацией - PullRequest
0 голосов
/ 11 апреля 2011

У меня есть WebView, который загружает и HTML String, и я хочу, чтобы он ловил клики по ссылкам.Для этого мне нужно использовать метод webView: shouldStartLoadWithRequest: navigationType.Проблема в том, что этот метод вызывается несколько раз, прежде чем HTML-контент полностью загружается, и я только хочу начать ловить клики в этот момент.Вопрос в том, как узнать, когда контент HTML полностью загружен?Я подумал, что это просто, поэтому я создал логическое значение как iVar ViewController, содержащего WebView, и я установил его в YES после вызова loadHTMLString.Затем в webView: shouldStartLoadWithRequest: navigationType я проверял, истинно ли это логическое значение, и в этом случае я выводил что-то вроде «ОК».Но "OK" появлялось без нажатия на ссылку => fail.

Есть идеи о том, как я могу сделать эту работу?

Заранее спасибо

Ответы [ 2 ]

3 голосов
/ 11 апреля 2011

Вы можете использовать метод делегата webViewDidFinishLoad:, чтобы узнать, когда загружается HTML.

Но я бы лучше использовал другое решение:
В webView:shouldStartLoadWithRequest:navigationType: вы можете фильтровать запросы по типу навигации:

if (navigationType == UIWebViewNavigationTypeLinkClicked) {
    // Catch links

    return NO; // if you want to cancel the request, else YES
}
3 голосов
/ 11 апреля 2011
- (void)webViewDidFinishLoad:(UIWebView *)webViews{
}

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...