Iphone 从服务器加载图像时MBProgressHUD出现问题
我有一个服务器,它提供带有特定参数和图像名称的JSON。然后,我得到了带有提供的名称的图像。所有这些都是在一个名为loadingOfImageAndInformation的函数中完成的。我使用MBProgressHUD如下:Iphone 从服务器加载图像时MBProgressHUD出现问题,iphone,objective-c,Iphone,Objective C,我有一个服务器,它提供带有特定参数和图像名称的JSON。然后,我得到了带有提供的名称的图像。所有这些都是在一个名为loadingOfImageAndInformation的函数中完成的。我使用MBProgressHUD如下: [HUD showWhileExecuting:@selector(loadingOfImageAndInformation) onTarget:self withObject:nil animated:YES]; 当此方法
[HUD showWhileExecuting:@selector(loadingOfImageAndInformation)
onTarget:self withObject:nil animated:YES];
当此方法当前正在运行时,它应该显示进度。现在,在这个方法中,我使用一个ASIHTTPRequest来检索我需要的所有数据。这意味着有时它会从该方法跳转到请求方法(检索图像并将其分配给requestLoadDone上的UIImageView)
现在,问题是MBProgressHUD thingy只在显示参数(我放在标签上的图像描述,我从JSON获得的描述)之前显示,而在显示参数和图像之前不显示。因此,在图像出现在imageView上之前,加载程序基本上会消失
以下是相关代码:
- (void) loadingHudAlert {
NSString *loadingMessage = NSLocalizedString(@"Please Wait",
@"Message displayed when the loading spinner is on");
HUD = [[MBProgressHUD alloc] initWithView:self.view];
HUD.minShowTime = 1.0;
[self.view addSubview:HUD];
HUD.delegate = self;
HUD.labelText = loadingMessage;
[HUD showWhileExecuting:@selector(loadingOfImageAndInformation)
onTarget:self withObject:nil animated:YES];
}
ASIHTTPRequest以异步模式执行所有请求。没有排队
感谢您的反馈 那么你是说在图像显示在imageview之前,HUD会消失,是吗?也许这更多的是因为可可豆是如何处理这些东西的,而不是MBD的问题。 如何分配图像?你试过了吗
[yourimageview setNeedsDisplay];
我想说的是,如果这是cocoa管理imageview显示内容的方式,也许你可以尝试“强制”重新加载或显示之前完成。那么你是说在imageview显示图像之前HUD会消失,不是吗?也许这更多的是因为可可豆是如何处理这些东西的,而不是MBD的问题。 如何分配图像?你试过了吗
[yourimageview setNeedsDisplay];
我想说的是,如果这是cocoa管理图像视图显示内容的方式,也许你可以尝试“强制”重新加载或显示之前完成。我使用布尔值解决了它,如果方法requestLoadDone完成,布尔值变为否,而布尔值为是,则加载FimageAndInformation将运行(这意味着在正确检索图像之前将一直运行。)我没有将此作为答案发布,因为可能有人有更好的解决方案。我使用布尔值解决它,如果方法requestLoadDone完成,布尔值将变为否,而布尔值为是,则加载FimageAndInformation将运行(这意味着将一直运行,直到正确检索图像。)我没有将此作为答案发布,因为可能有人有更好的解决方案。好吧,这是一个好主意,但不幸的是无法应用,因为我已经内存不足,SetNeedsDisplay会重新设置图像,这是我负担不起的。我使用布尔值解决它,如果方法requestLoadDone完成,布尔值将变为否,而t布尔值为“是”,则加载图像和信息将运行(这意味着将运行,直到正确检索图像)我没有将此作为答案发布,因为可能有人有更好的解决方案。好吧,这是个好主意,但不幸的是无法应用,因为我已经内存不足,SetNeedsDisplay会重新设置图像,这是我负担不起的。我使用布尔值解决它,如果方法requestLoadDone完成,布尔值将变为否,而boolean是的,加载图像和信息将运行(这意味着在正确检索图像之前将运行)。我没有将此作为答案发布,因为可能有人有更好的解决方案。