Самый простой способ сделать это - добавить эту строку после создания экземпляра UIWebView.
[webView setDelegate:self];
Теперь вы будете вызывать webViewDidFinishLoad:
, и весь метод должен выглядеть следующим образом.
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
}
Я объясню это дальше, так как вам абсолютно необходимо понять делегирование в будущем.
UIWebView - это просто объект, отображающий веб-данные. Ему не очень нравится обрабатывать все эти другие вещи, потому что он просто любит веб-данные. Теперь в вашем случае вы хотели узнать, когда UIWebView завершил свою любимую небольшую задачу. Чтобы сделать это, ваш UIWebView дает привет своему делегату: «Эй, Холмс, я уже загрузил эти данные. Так что иди и делай, что делаешь сейчас». и ваш UIWebView продолжает свой веселый путь.
Итак, мы сказали UIWebView, что его делегатом в данном случае был наш текущий класс, установив для свойства delgate в webView значение self.
Оттуда вы можете вызывать любой из методов, доступных для делегата UIWebView (все это в документации), и заставлять их выполнять второстепенные задачи по отношению к основному назначению UIWebView.
Имеет смысл?