Как создать загрузочный экран, который можно использовать в любое время. Мне известен файл Default.png, но мне нужна гибкость, чтобы подключить экран загрузки в любой момент в течение жизненного цикла приложения.
Это то, что я имею до сих пор.
//inside a method that gets called by a UIButton
LoadingViewController* loadController = [[LoadingViewController alloc] initWithNibName:@"Loading" bundle:nil vertical:NO];
[self.view addSubview: loadController.view];
//some method call that takes a few seconds to execute
[self doSomething];
//This loads some other view, my final view
[self.view addSubview: someOtherView]
но кажется, что вид загрузки никогда не отображается. Вместо этого предыдущий вид остается там до тех пор, пока не будет добавлен someOtherView. Я поместил журналы трассировки, и код, кажется, выполняется, я даже заменил [self doSomething] на sleep (2), но представление промежуточной загрузки никогда не отображается.
Если я удалю [self.view addSubview: someOtherView]; затем через несколько секунд ... (после того, как doSomething завершает выполнение) отображается представление загрузки, так как нет представления, которое выдвигается поверх него, однако это, очевидно, не та функциональность, которую я хочу.
Может объяснить это поведение? Есть ли что-то в цикле рендеринга, которое я неправильно понимаю, потому что не похоже, что представление (по крайней мере, на экране) мгновенно обновляется, хотя я вызываю [self.view addSubview: loadController.view];
Нужно ли мне создавать отдельный поток?