0

假设我做了这样的事情:

[MBProgressHUD showHUDAddedTo:self.view animated:YES];
[self methodThatTakesLotsOfTime];
[MBProgressHUD hideHUDForView:self.view animated:YES];

这将没有足够的时间让 HUD 进入动画并显示。使用sleep(100)或 NSTimer 只会增加问题。我也无法在主队列上运行该方法。更不用说dispatch_get_current_queue()iOS 6.0+ 已弃用。我一定错过了一些大事

4

1 回答 1

0

您可以尝试使用事务完成处理程序:

[MBProgressHUD showHUDAddedTo:self.view animated:YES];
[CATransaction setCompletionBlock: ^{
     [self methodThatTakesLotsOfTime];
}];

但实际上这只是权宜之计。您正在使用的代码的作者可以为您提供一种使用完成块制作动画的方法。

于 2013-04-18T20:47:21.777 回答