Как использовать UIProgressView при загрузке UIWebView?

я разрабатываю приложение, где я загружаю urlrequest в UIWebView, и это произошло успешно.

Но теперь я пытаюсь отобразить UIProgressView, когда загрузка происходит (запускающийся от 0,0 до 1,0), который изменяется динамично с прогрессом загрузки.

Как я могу сделать это?

11
задан raaz 14 December 2009 в 10:39
поделиться

1 ответ

UIWebView не дает вам никакой информации о ходе выполнения в обычном режиме. Что вам нужно сделать, это сначала асинхронно получить данные с помощью NSURLConnection. Когда метод делегата NSURLConnection connection: didReceiveResponse , вы собираетесь взять число, полученное из expectedContentLength , и использовать его в качестве максимального значения. Затем внутри метода делегата connection: didReceiveData вы собираетесь использовать свойство length экземпляра NSData, чтобы сообщить вам, как далеко вы продвинулись, так что ваша доля прогресса будет length / maxLength , нормализовано между 0,0 и 1,0.

Наконец, вы собираетесь инициировать веб-просмотр с данными вместо URL-адреса (в вашем соединении : метод делегата didFinishLoading ).

Два предостережения:

  1. Возможно, что свойство expectedContentLength NSURLResponse будет иметь значение -1 (константа NSURLReponseUnknownLength ).

22
ответ дан 3 December 2019 в 05:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: