使用 MBProgressHUD,如果在一个函数中添加了 HUD,又在函数结束前做了耗时操作,此时hud 不会立刻显示出来,而是需要等到函数结束后才能显示.
MBProgressHUD 给出了解决办法:
请记住,UI更新,倾斜调用MBProgressHUD应该始终在主线程上完成。
如果需要在主线程中运行长时间运行的任务,您应该稍微延迟执行它,因此UIKit将有足够的时间来更新UI(即:在阻塞主线程之前,先画出HUD。
[MBProgressHUDshowHUDAddedTo:self.viewanimated:YES];
dispatch_time_tpopTime = dispatch_time(DISPATCH_TIME_NOW,0.01* NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
//Do something...
[MBProgressHUDhideHUDForView:self.viewanimated:YES];
});
网友评论