Использовать индикатор прогресса в UIWebView? - PullRequest
2 голосов
/ 29 августа 2011

Можно ли использовать индикатор загрузки с UIWebView при загрузке веб-страниц, как Safari в адресной строке?Я читал, что вам нужно использовать закрытый API, который Apple не разрешает, но это кажется неправильным ... вы не можете определить, насколько велика страница, и обновить индикатор выполнения загруженным количеством?

Ответы [ 2 ]

2 голосов
/ 29 августа 2011

Для такого рода вещей вы действительно можете «определить» размер страницы, используя Content-Length заголовки, но в противном случае вы все равно можете представить элемент управления загрузкой (например, одну из движущихся полос типа пересечения зебры, которая не показывает дискретный% прогресса, но показывает, что активность происходит .. или даже просто UIActivityIndicator). Вы также можете попробовать готовый класс, например ASIWebPageRequest, который МОЖЕТ показать прогресс. Автор утверждает:

ASIWebPageRequests в настоящее время не поддерживает отслеживание хода выполнения для всего запроса с его внешними ресурсами. Однако обновления хода выполнения запросов внешних ресурсов передаются вашему делегату, поэтому, если немного поработать, можно будет реализовать это самостоятельно.

1 голос
/ 29 августа 2011

Если бы вы были браузером, у вас был бы доступ к заголовку ответа Content-Length исходного HTTP-ответа. Тогда вы также можете решить добавить к этому размеру результат любых подзапросов, поступающих через JavaScript, изображения и т. Д.

MobileSafari может со временем определить размер каждого запроса, добавить их все, а затем предоставить вам информацию об общем ходе загрузки.

Не уверен, что вы пытаетесь сделать, но вот как они это делают.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...