iOS - отображение наложения поверх UITableView - PullRequest
1 голос
/ 14 июля 2011

Я загружаю данные из Интернета, которые затем отображаются на UITableView. Поскольку я хочу адаптивный пользовательский интерфейс, я использую фоновую загрузку с GCD. Поэтому во время загрузки данных отображается пустой UITableView (что не так красиво). И сверх этого происходит вращение UIActivtyIndicatorView (настройка в IB).

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

Код, который у меня пока есть, таков:

dispatch_async(dispatch_get_global_queue(0, 0), ^{

    NSArray *downloadedCareerIds = [CareersParser idsFrom:@"web"];
    NSArray *diskCareerIds = [CareersParser idsFrom:@"disk"];

    BOOL equalIds = [downloadedCareerIds isEqualToArray:diskCareerIds];

    if (!equalIds) {

        DLog(@"ids not equal");

        dispatch_async(dispatch_get_main_queue(), ^{
            /* Send UI updates back to the main thread. */

            // I think here would be a good idead to insert the gray view over the table

            [loadingIndicator startAnimating];
            // Do GUI stuff on the main thread ...
            [loadingIndicator stopAnimating];
            // Remove the gray view?

        });
    }
});

1 Ответ

0 голосов
/ 14 июля 2011

Просто создайте серый вид с границами UITableView и добавьте его как подпредставление tableView.Удалите серый вид после завершения загрузки.

...