iOS - Показать UIActivityIndicatorView при загрузке таблицы - PullRequest
2 голосов
/ 22 июня 2011

У меня есть приложение панели вкладок.У меня есть 2 вопроса.

  • Использование изображения по умолчанию для приложения позволяет приложению инициализировать себя (первое представление, отображаемое в MainView.xib) в фоновом режиме во время отображения изображения?

  • Касаясь второй вкладки приложения, приложение загрузит данные в UITableView.Это занимает некоторое время (получение некоторых данных из Интернета), поэтому при переходе от первой вкладки ко второй вкладке возникает задержка, прежде чем таблица будет отображаться на второй вкладке.Я хочу отобразить UIActivityIndicatorView во время заполнения UITableView, а затем хочу, чтобы UIActivityIndicatorView исчез после завершения загрузки UITableView.Как мне этого добиться?

Ответы [ 2 ]

10 голосов
/ 22 июня 2011

Вы можете использовать это внутри действия:

protected Dialog onCreateDialog(int id) {
        ProgressDialog progress = new ProgressDialog(this);
        progress.setMessage("The information is gathered, one moment please.");
        progress.setIndeterminate(true);
        progress.setCancelable(false);
        progress.setCanceledOnTouchOutside(false);
        return progress;
}

Это отобразит предупреждение, как только вы позвоните в (или на) упражнение:

showDialog(0x0001);

Когда диалоговое окно имеетчтобы исчезнуть, назовите это:

removeDialog(0x0001);

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

Теперь для объектива-c:

UIAlertView alert = [UIAlertView initWithTitle:@"a title" message:@"a message" delegate:nil cancelButtonTitle:nil otherButtonTitles:nil]
[alert show];

if(alert != nil) {
        UIActivityIndicatorView *indicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];

        indicator.center = CGPointMake(alert.bounds.size.width/2, alert.bounds.size.height-45);
        [indicator startAnimating];
        [alert addSubview:indicator];
        [indicator release];
}

РЕДАКТИРОВАНИЕ Удаление это делается с помощью этого:

[alert dismissWithClickedButtonIndex:0 animated:YES];
[alert release];

/ EDIT

Это сработало для меня :) это может быть не совсем то место, потому что я изменил некоторые вещи вбраузер теперь секреты компании и т. д. xD :).Не стесняйтесь спрашивать об этом.

3 голосов
/ 22 июня 2011
  1. YES. Даже если вы не дадите изображения по умолчанию, он загрузит первый контроллер вида с черным экраном.

  2. Отображение вида индикатора активности на вашем втором контроллере вида loadView. И поместите весь код загрузки в свой метод контроллера второго представления viewDidAppear:. При этом ваш второй контроллер представления будет отображаться в виде индикатора активности, как только вы нажмете вторую вкладку. А после загрузки загрузите индикатор активности. Это обеспечит плавный переход с одной вкладки на другую.

...