Я хочу загрузить некоторые данные при нажатии кнопки и показать «представление загрузки» в качестве подвида моего текущего представления во время его загрузки.
Поэтому я хочу начать загрузку только после того, как появится подвид. Если нет, мой пользовательский интерфейс зависает без уведомления (и подпредставление отображается только после завершения загрузки).
Есть ли способ использовать что-то вроде viewDidAppear
для подвидов?
Выполнение работы сразу после addSubview:
не работает:
- (void)doSomeWorkAndShowLoadingView
{
UIView *loadingView = [[[UIView alloc] initWithFrame:self.view.frame] autorelease];
loadingView.backgroundColor = [UIColor redColor];
[self.view addSubview:loadingView];
[self doSomeWork];
[loadingView removeFromSuperview];
}
- (void)doSomeWork
{
sleep(5);
}
(Я не хочу выполнять загрузку в новом потоке, потому что это CoreData, над которым я работаю, что не является потокобезопасным).
Спасибо!