2012-03-09 72 views
0

我使用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) onTarget:self withObject:nil animated:YES]; 

问题是,当它运行时,它会清除包含一堆照片的视图。这让我的用户感到困惑,因为他们失去了参考视觉框架。

如果我不使用MBProgressHud,您会看到现有的照片集,直到CreateCollage完成,并且它会滞后或冻结到下一个集合中,这有点可以,但不是首选。有任何想法吗?谢谢

回答

0

我想你的问题是通过初始化视图并再次将它添加到视图中获得的,因此它在某种程度上与你的视图在帧方面相同,所以它可能会在前面。

我建议尝试这个:

self.hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES]; 
self.hud.delegate = self; 
self.hud.labelText = @"Loading :)"; 

而且在你行动的结束是CreateCollage

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

感谢您的回复称此。这似乎不起作用,因为当CreateCollage运行时,它似乎占用了足够的资源,加载器在下一个集合完成之前不会显示。所以基本上,在视图中显示下一个设置之前,您只能看到加载程序正在闪烁。但是,它确实允许现有照片集保留在视图中。 – user339946 2012-03-09 17:27:08

+0

我以为这是一个异步行为。当然,如果它阻止,这将无法正常工作 – 2012-03-09 19:15:29

相关问题