Iphone MBProgressHud在显示加载器时清除视图

Iphone MBProgressHud在显示加载器时清除视图,iphone,ios,xcode,ipad,mbprogresshud,Iphone,Ios,Xcode,Ipad,Mbprogresshud,我正在使用MBProgressHud显示负载指示器。这是我的显示代码: self.hud = [[MBProgressHUD alloc] initWithView:self.view]; [self.view addSubview:self.hud]; self.hud.delegate = self; self.hud.labelText = @"Loading :)"; [self.hud showWhileExecuting:@selector(CreateCollage) onTa

我正在使用MBProgressHud显示负载指示器。这是我的显示代码:

self.hud = [[MBProgressHUD alloc] initWithView:self.view];
[self.view addSubview:self.hud];

self.hud.delegate = self;
self.hud.labelText = @"Loading :)";

[self.hud showWhileExecuting:@selector(CreateCollage) onTarget:self withObject:nil animated:YES];
问题是,当它运行时,它会清除包含一组照片的视图。这让我的用户感到困惑,因为他们失去了视觉参照系


如果我不使用MBProgressHud,您将看到现有的照片集,直到
CreateCollage
完成,并且它会延迟或冻结到下一组,这有点不错,但不是首选。有什么想法吗?谢谢

我猜您的问题是通过使用视图初始化它,然后再次将它添加到视图中来解决的,因此它在帧方面与您的视图完全相同,因此它可能在前面

我建议试试这个:

self.hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
self.hud.delegate = self;
self.hud.labelText = @"Loading :)";
并在操作结束时调用此函数,即
CreateCollage

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

谢谢你的回复。这似乎不起作用,因为当CreateCollage运行时,它似乎占用了足够的资源,加载程序在下一个集合完成之前不会显示这些资源。因此,基本上,您只能在视图中显示下一组之前看到加载程序闪烁。但是,它确实允许现有的照片集保留在视图中。我认为这是一个异步操作。当然,如果它是阻塞的,这将不起作用