Отображать значок загрузки во время загрузки сетевого ресурса
-
03-07-2019 - |
Вопрос
Я пытаюсь отобразить значок загрузки, пока приложение для iPhone загружает сетевой ресурс, но я не могу понять, как его правильно отобразить.
Я искал и нашел некоторые подробности о классе UIActivityView
, но доступный пример исходного кода не работал, и документация довольно краткая.
Может ли кто-нибудь привести простой пример использования этого класса?
Решение
Предполагая, что у вас настроен контроллер представления, и вы хотите добавить к нему UIActivityIndicator
, вот как вы можете это сделать:
(предположим, у вас есть переменная-член с именем индикатор
, которую вы можете использовать позже для очистки)
Для вашего интерфейса (файл .h):
UIActivityIndicator *indicator;
Для вашей реализации (файл .m):
Запустите анимацию
CGRect b = self.view.bounds;
indicator = [[UIActivityIndicator alloc] initWithActivityIndicatorStyle:
UIActivityIndicatorStyleWhite];
//center the indicator in the view
indicator.frame = CGRectMake((b.size.width - 20) / 2, (b.size.height - 20) / 2, 20, 20);
[self.view addSubview: indicator];
[indicator release];
[indicator startAnimating];
Остановить анимацию
[indicator removeFromSuperview];
indicator = nil;
Другие советы
Ответ Бена выглядит очень похоже на то, что я делаю - ваше предположение о теме, вероятно, верно. Используете ли вы NSURLConnection
для загрузки? Если да, то используете ли вы синхронную или асинхронную версию? Если это синхронная версия, и вы просто запускаете и останавливаете анимацию вокруг синхронного вызова, пользовательский интерфейс не обновляется до тех пор, пока вы не остановите анимацию.