Я делаю запрос на скачивание некоторых изображений, затем хочу заменить ими подпредставление.
Это означает, что пользовательский интерфейс заблокирован, и через некоторое время появится новое представление.
Я хочу, чтобы пользователь понял, что блокировка происходит из-за загрузки.
Сначала я попытался использовать
[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
[self downloadFunction];
[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
Это приводит к максимальному миганию (по большей части ничего) индикатора активности, поскольку мой запрос блокирует поток пользовательского интерфейса.
Я не могу перевести функцию загрузки в фоновый режим, поскольку я полагаюсь на то, что загруженные данные будут доступны до того, как я нажму на контроллер (может привести к ошибке «Не поддерживается одновременное нажатие одного экземпляра контроллера представления», поскольку нажмите кнопку более одного раза).
Затем я попытался поместить подпредставление с вращающимся колесом поверх вида:
[self performSelectorInBackground:@selector(showActivitySubView) withObject:nil];
or
[NSThread detachNewThreadSelector: @selector(showActivitySubView) toTarget:self withObject:nil];
но пользовательский интерфейс все еще заблокирован, и мой индикатор просто отображается после завершения загрузки ...
Есть идеи?