我正在使用MBProgressHUD显示加载,同时执行本地长方法以提供良好的用户体验。一切正常,但现在我必须像这样实现,如果该方法在一秒钟内执行,则不应出现加载。我已经浏览了 MBProgressHUD 示例,对于这个功能,我发现了setGraceTime
和setMinShowTime
显示时间,但它都不能正常工作。因为当我设置宽限时间时,即使方法执行时间超过 1 秒,加载图标也不会出现。这是我的代码
if (self.HUD == nil)
{
self.HUD = [[MBProgressHUD alloc] initWithView:self.view];
[self.view addSubview:self.HUD];
}
self.HUD.labelText = @"Please wait.....";
// [self.HUD setMinShowTime:2.0f];
[self.HUD setGraceTime:1.0f];
[self.HUD setTaskInProgress:YES];
[self.HUD show:YES];
// [self.HUD hide:YES afterDelay:3];
[[NSRunLoop currentRunLoop] runUntilDate:[NSDate distantPast]];
if (mycondition == nil)
{
[self myTask:[NSURL fileURLWithPath:strPath]];
//[self performSelector:@selector(mytask:) withObject:[NSURL fileURLWithPath:strPath]];
}
else
{
//else
}
self.tempView.hidden = YES;
// self.HUD.taskInProgress = NO;
[self.HUD hide:YES];
self.HUD = nil;
我已经[[NSRunLoop currentRunLoop] runUntilDate:[NSDate distantPast]];
提出了这个问题的解决方案,
请指导我这段代码有什么问题..?!