ビューの読み込みに時間がかかるViewControllerがあります。Instrumentsを実行すると、ホーム画面から、そのView Controllerをスタックにプッシュするアイコンをタップすると、半分がビューをレイアウトし、半分がビューのデータを取得していることがわかります。ボタンが押されたときにホーム画面のボタンの上に表示するアクティビティインジケーターを追加して、LongRunningViewControllerをスタックにプッシュしてみました。だから私は基本的にこれを行います:
- (IBAction)puzzleView:(id)sender {
dispatch_async(dispatch_get_main_queue(), ^{
[self.activityIndicator startAnimating];
});
PuzzleViewController *detailViewController = [[[PuzzleViewController alloc] init] autorelease];
[self.navigationController pushViewController:detailViewController animated:YES];
[self.activityIndicator stopAnimating];
}
ボタンを押している間、ホーム画面が遅れて、ビューが読み込まれます。他の画面を押す準備をしているときにアクティビティインジケーターを表示しようとしています(または、少なくともそれが機能すると思います)。ただし、アクティビティインジケータは表示されません。これができるかしら?または、他のアプリがViewControllerをプッシュし、その画面に、さまざまなリソースの読み込みを示すアクティビティインジケーターが表示されますか?