2011-01-11 2 views
2

У меня есть веб-представление в том, что я загружаю pdf-файл.Как я могу знать, что загрузка в Интернете завершена.

pdf-файл имеет размер 2 мб, поэтому он занимает время привязки. Я хочу добавить индикатор.

для этого как я могу узнать, что мой файл загружен в веб-виде? ...

+0

Пожалуйста, будьте более конкретным с вашим вопросом. Вам нравится знать, как создать индикатор/индикатор выполнения при загрузке 2-мегабайтных файлов или вам просто нужно знать, когда он будет завершен? –

ответ

3

Джеймс P имеет правильный ответ (^ 'е изд), но вот код, чтобы показать и скрыть индикатор.

После регистрации вы с UIWebViewDelegate ...

- (void)webViewDidStartLoad:(UIWebView *)webView { 
    [UIApplication sharedApplication].networkActivityIndicatorVisible = YES; 
    // Other stuff... 
} 

А потом

- (void)webViewDidFinishLoad:(UIWebView *)webView { 
    [UIApplication sharedApplication].networkActivityIndicatorVisible = NO; 
    // Other stuff... 
} 

Также вы, вероятно, хотите, чтобы проверить неудачи и скрыть индикатор активности там, а также ...

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error { 
    [UIApplication sharedApplication].networkActivityIndicatorVisible = NO; 
    // Other stuff... 
} 
+0

благодарим вас за код –

5

UIWebViewDelegate

в частности:

- (void)webViewDidFinishLoad:(UIWebView *)webView 
+2

Я видел, как этот метод делегатов запускается в конце LOADING, но задолго до завершения RENDERING. Так что следите. –

+0

Да, это хороший момент, я иногда добавлял небольшую задержку, прежде чем удалить индикатор активности, чтобы учесть это. Разве кто-нибудь знает способ узнать, когда рендеринг действительно закончился? –

+0

да сделано ... спасибо James p –

0

первый Добавить делегат "UIWebViewDelegate", то вы можете использовать следующие методы.

- WebView: shouldStartLoadWithRequest: navigationType: - webViewDidStartLoad: - webViewDidFinishLoad:
- WebView: didFailLoadWithError:

0

Вы можете извлечь свой PDF-файл, используя ASIHTTPRequest, что позволило бы вам покажите реальный прогресс, а затем подайте его в UIWebView после его загрузки.

EDIT: ASIHTTPRequest - это бесплатная сторонняя библиотека, которая обеспечивает улучшенный интерфейс для клиентских функций iOS HTTP. МНОГО образцов кода и инструкций здесь: http://allseeing-i.com/ASIHTTPRequest/How-to-use

+0

Я не знаю ничего о ASIHTTPRequest, могу ли вы объяснить мне подробности ... что это? и как я могу это использовать? PLZ также прилагается код для этого .... у меня нет никаких знаний об этом. –

+0

hey Dan Ray thanx для ссылки ...... –

Смежные вопросы