Отображать значок загрузки во время загрузки сетевого ресурса

StackOverflow https://stackoverflow.com/questions/212215

  •  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 для загрузки? Если да, то используете ли вы синхронную или асинхронную версию? Если это синхронная версия, и вы просто запускаете и останавливаете анимацию вокруг синхронного вызова, пользовательский интерфейс не обновляется до тех пор, пока вы не остановите анимацию.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top