Загрузка приложения и заставка - PullRequest
10 голосов
/ 11 августа 2011

Мое приложение загружает довольно много данных, что занимает около нескольких секунд. Мой экран-заставка отображается, а затем исчезает, а затем на несколько секунд появляется белый пустой экран перед загрузкой первого вида. Есть ли способ, чтобы заставка появлялась? Можно ли создать представление в AppDelegate и отображать его до тех пор, пока загрузка всех данных не будет завершена и представление не будет загружено?

Ответы [ 4 ]

4 голосов
/ 11 августа 2011

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

https://github.com/jdg/MBProgressHUD

Надеюсь, это поможет.

Это представление загрузки, которое является индикатором активности.

РЕДАКТИРОВАТЬ:

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

[window addSubview:<backgroundView>.view];

Затем, после загрузки данных, вы можете удалить тот жеиз окна и добавьте контроллер основного вида в окно

[<backgroundView>.view removeFromSuperView];
[window addSubview:<mainView>.view];

Надеюсь, это поможет вам.

3 голосов
/ 11 августа 2011

ДА, вы можете отобразить представление с заставкой (и, возможно, индикатор активности, просто не забудьте загрузить ваши данные в отдельном потоке, или они не будут вращаться), а затем переключиться на нужный вид, когда загрузка сделано.

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

Белый вид, который вы видите перед фактическим видом, является главным окном.Sinply установить заставку в качестве фонового изображения вашего окна в MainWindow.xib, и все готово.При желании вы также можете добавить спиннер, который всегда вращается в верхней части окна, чтобы при загрузке приложения вы сначала увидели заставку, затем экран разброса со спиннером, а затем ваш вид.

0 голосов
/ 11 августа 2011

Я загружаю ImageView с изображением по умолчанию в viewDidLoad и скрываю его, если вам предшествуют данные.

    UIImage* imageDefault = [UIImage imageNamed:@"Default@2x.png"];
    CGRect frame;
    frame.origin.x = 0;
    frame.origin.y = -20;
    frame.size.width = 320;
    frame.size.height = 480;

    splash = [[[UIImageView alloc] initWithFrame:frame] autorelease];
    [splash setImage:imageDefault];
    [self.view addSubview:splash];
   .
   .


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