いつでも再利用できるローディング画面を作成するにはどうすればいいですか?私は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]を呼び出しても、(少なくとも画面上の)ビューが即座に更新されるようには見えないので、私が誤解しているレンダリングサイクルについて何かありますか?
別のスレッドを作成する必要がありますか?