UIWebView не совсем завершил загрузку

Я отправил представление на свой контроллер навигации, который содержит UIWebView, и это загрузит URL-адрес.

Когда он запускается, я запускаю networkActivityIndicatorVisible, а когда он заканчивается, я скрываю его.

Если пользователь решает, что не хочет заканчивать загрузку веб-страницы, и снова нажимает на navcontroller, индикатор сети продолжает работать. Как мне избавиться от этого, поскольку, похоже, для этого нет метода делегата и ни один из viewdidUnload не запускается ....


person Lee Armstrong    schedule 01.06.2009    source источник


Ответы (3)


Как насчет того, чтобы сделать индикатор активности невидимым в анимированном viewWillAppear: (BOOL) предыдущего контроллера?

person Anh    schedule 02.06.2009
comment
Спасибо, я тогда был маппетом и пропустил анимацию: (BOOL), и я так понимаю, что это необходимо .... - person Lee Armstrong; 02.06.2009

В методе viewWillDisappear: вашего UIWebView ViewController сделайте следующее

if([yourWebView isLoading]){
  //hide your network activity indicator
  [yourWebView stopLoading];
}

надеюсь, это поможет

person lostInTransit    schedule 02.06.2009
comment
Как показано ниже, тогда я был маппетом и пропустил анимацию: (BOOL), и я полагаю, что это необходимо .... Я добавил оба бита кода. - person Lee Armstrong; 02.06.2009

Я сделал простое решение подсчета ссылок для процессов загрузки:

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

    if (_loadRef == 0) {
        [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
    }

    _loadRef++;
}

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

    _loadRef--;

    if (_loadRef == 0) {
        [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
    }
}
person Rotem    schedule 25.07.2009
comment
Спасибо вам миллион раз, спасли мне день. - person Emil; 04.04.2011