iOS. Приемы программирования
Шрифт:
Рис. 1.65.
Еще один способ работы с веб-видом — загрузка в него удаленного контента, на который указывает URL. Для этого можно пользоваться методом loadRequest:. Перейдем к следующему примеру, в котором загрузим основную страницу сайта Apple в веб-вид, расположенный в нашей программе для iOS (рис. 1.66):
Рис. 1.66. Веб-вид, в который загружена домашняя страница Apple
Может понадобиться какое-то время, прежде чем в веб-вид загрузится содержимое, которое вы туда передали. Наверное, вы заметили, что при загрузке информации в браузере Safari в левом верхнем углу экрана появляется тонкий индикатор процесса, показывающий, что ваше устройство занято загрузкой контента (рис. 1.67).
Рис. 1.67. Индикатор процесса загрузки
В iOS эта задача решается с помощью делегирования. Мы сделаем подписку на делегат веб-вида, и веб-вид будет получать уведомление всякий раз, когда делегат станет загружать контент. Когда загрузка контента завершится, мы получим от веб-вида соответствующее сообщение. Все это мы сделаем, применив свойство delegate веб-вида. Делегат веб-вида должен соответствовать протоколу UIWebViewDelegate.
Идем дальше. Теперь реализуем в контроллере нашего вида небольшой индикатор процесса. Не забывайте, что индикатор протекающего процесса уже имеется в составе приложения и мы не должны создавать его сами. Управлять этим индикатором можем с помощью метода setNetworkActivityIndicatorVisible:, относящегося к UIApplication. Итак, начнем с файла реализации контроллера вида:
1.25. Отображение протекания процессов с помощью UIProgressView
Постановка задачи
Необходимо отображать на экране индикатор протекания процесса (Progress Bar), отражающий ход выполнения той или иной задачи, например индикатор загрузки файла, скачиваемого c определенного URL.
Решение
Инстанцируйте вид типа UIProgressView и разместите его в другом виде.
Обсуждение
Вид протекания процесса программисты обычно называют прогресс-баром. Образец такого вида показан на рис. 1.68.
Рис. 1.68. Простой вид с индикатором протекания процесса
Виды, отображающие протекание процессов, обычно демонстрируются пользователю для показа выполнения задачи с четко определенными начальной и конечной точками. Примером такой задачи является, например, скачивание 30 файлов. Очевидно, что такая задача будет выполнена, когда все 30 файлов будут скопированы на устройство. Вид, отображающий протекание процесса, является экземпляром UIProgressView и инициализируется с помощью специального метода-инициализатора данного класса — initWithProgressViewStyle:. В качестве параметра данный метод принимает стиль (оформление) панели протекания, которую предполагается создать. Этот параметр относится к типу UIProgressViewStyle и, соответственно, может иметь одно из следующих значений:
Двести лет вместе. Часть I. В дореволюционной России
Документальная литература:
публицистика
рейтинг книги
Воронцов. Перезагрузка. Книга 5
5. Воронцов. Перезагрузка
Фантастика:
попаданцы
альтернативная история
фэнтези
фантастика: прочее
рейтинг книги
Князь Андер Арес 2
2. Андер Арес
Фантастика:
рпг
аниме
фэнтези
фантастика: прочее
рейтинг книги
Убитый манекен : сборник
Детективы:
классические детективы
маньяки
юридический триллер
рейтинг книги
Том 6. Дураки на периферии
6. Собрание сочинений
Поэзия:
драматургия
рейтинг книги
Газлайтер. Том 1
1. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
рейтинг книги
Медиатор
11. Ушедший Род
Фантастика:
боевая фантастика
аниме
фэнтези
попаданцы
рейтинг книги
Дорога в рай (Рассказы)
Интеллектуальный бестселлер. Читает весь мир.
Проза:
современная проза
рейтинг книги
Я есть Закон! Том 2
2. Я есть Закон!
Фантастика:
юмористическая фантастика
рпг
попаданцы
рейтинг книги
История религии (Том 1)
Религия и эзотерика:
религия
рейтинг книги