我有一个 ViewController 需要时间来加载它的视图。当我运行 Instruments 时,我从主屏幕看到,如果我点击将视图控制器推送到堆栈上的图标,它的一半是布局视图,一半是获取视图的数据。当按下按钮将 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,然后在那个屏幕上,他们有显示不同资源加载的活动指示器?