Как узнать UIWebView webViewDidFinishLoad, наконец, происходит в iOS?

Приложение Twitter показывает webView без панели инструментов. А затем, когда нажмите на ссылку на веб-странице, webView показывает панель инструментов внизу.

Я закодировал как ниже, но я нашел webViewDidFinishLoad() происходит несколько раз.

Как узнать webViewDidFinishLoad() происходит наконец?

iNavigate = 0;


- (void)webViewDidFinishLoad:(UIWebView *)webView 
{    

    iNavigate ++;


    NSLog(@"Navigate Count = %d", iNavigate);


    if (iNavigate >1)
    {
        CGRect rect = self.webView.frame;
        rect.size.height = rect.size.height - toolBarBrowser.frame.size.height;
        self.webView.frame = rect;
        self.toolBarBrowser.hidden = FALSE;
    }

    barButtonBack.enabled = (self.webView.canGoBack);
    barButtonForward.enabled = (self.webView.canGoForward);



}

1 ответ

Решение

Ты можешь использовать (webview.isLoading) знать UIWebView webViewDidFinishLoad происходит в конце концов или нет

- (void)webViewDidFinishLoad:(UIWebView *)webview  {
   if (webview.isLoading)
       return;
   else
   {
       CGRect rect = self.webView.frame;
       rect.size.height = rect.size.height - toolBarBrowser.frame.size.height;
       self.webView.frame = rect;
       self.toolBarBrowser.hidden = FALSE;

       barButtonBack.enabled = (self.webView.canGoBack);
       barButtonForward.enabled = (self.webView.canGoForward);
   }
 }
Другие вопросы по тегам