iPhone UIActivityIndicatorПросмотр при загрузке UIViewController - PullRequest
2 голосов
/ 15 октября 2010

У меня есть приложение с UITabBarController с пятью вкладками. Тесты на реальном устройстве показывают, что переключение с вкладки на другую может занять одну или несколько секунд для загрузки представлений, поскольку мне также необходимо загрузить некоторые данные из Интернета.

Я хотел бы показать UIActivityIndicatorView во время загрузки представления, но я не смог найти решение. Возможно я не искал правильный путь.

Может ли кто-нибудь мне помочь?

Ответы [ 2 ]

1 голос
/ 15 октября 2010

Как я это делаю:

Создание класса LoadingViewController с UILabel, UIActivityIndicator и черным фоном.

В методе ViewDidLoad я установил:

[self.view setAlpha:0.0];
[self.activityIndicator startAnimating];

Я реализую два метода:

-(void)appear{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
[self.view setAlpha:0.65];
[UIView commitAnimations];
}

-(void)disappear{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
[self.view setAlpha:0.0];
[UIView commitAnimations];
}

В метке вы можете установить пользовательский текст.

Импортируйте этот класс в класс, над которым вы работаете, и просто позвоните:

[loadingViewController appear];

и

[loadingViewController disappear];

У меня сейчас нет Mac с собой, и я не могу проверить, написал ли я какие-либо ошибки, но надеюсь, вы поняли:)

Я всегда предпочитаю создавать собственные классы для этого на случай, если они понадобятся во многих местах моего приложения.

1 голос
/ 15 октября 2010

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

Тогда для UIActivityIndicatorView это популярные опции:

  1. Показать на вкладке, ДО загрузка чего-либо еще в представлении. И когда данные готовы, просто спрячьте это и показать полную информацию.
  2. Показать свой неполный вид и добавить наложение с UIActivityIndicatorView.
...