我需要阻止接口,直到MBProgressHUD
操作完成。我是指這個線程,MBProgressHUD塊接口,直到完成操作
Block interface until operation is done
根據它,我們應該禁用哪些不會工作對我來說各個項目。我的情況是我需要禁用用戶點擊後退按鈕。我嘗試了HUD.userInteractionEnabled = YES
,它禁用了除後退按鈕之外的所有控制器。有沒有阻止用戶從該控制器彈出的方法?
問候,
Dilshan
我需要阻止接口,直到MBProgressHUD
操作完成。我是指這個線程,MBProgressHUD塊接口,直到完成操作
Block interface until operation is done
根據它,我們應該禁用哪些不會工作對我來說各個項目。我的情況是我需要禁用用戶點擊後退按鈕。我嘗試了HUD.userInteractionEnabled = YES
,它禁用了除後退按鈕之外的所有控制器。有沒有阻止用戶從該控制器彈出的方法?
問候,
Dilshan
如果你找不到合適的方法來做到這一點,你可以忽略整個用戶交互
[[UIApplication sharedApplication] beginIgnoringInteractionEvents];
.U可以通過
[[UIApplication sharedApplication] endIgnoringInteractionEvents];
不是閒置的解決方案,但仍然有效。謝謝。 – Dilshan 2012-07-16 15:26:56
這是我如何添加MBProgressHUD
我的看法,並阻止所有輸入,直到它被刪除:
MBProgressHUD HUD = [[MBProgressHUD alloc] initWithView:self.view];
HUD.opacity = 0.7f;
[self.view addSubview:HUD];
HUD.delegate = self;
[HUD show:YES];
注:self
是視圖控制器HUD正在添加到
遵循相同的方式。沒有爲此工作。 – Dilshan 2012-07-16 15:24:49
阻止這個你可以在MBProgressHUD添加到導航控制器的視圖,使其還可以防止與後退按鈕的交互:
[MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
這聽起來很正確,但它並沒有爲我工作。 – MattL 2015-12-14 22:18:30
如果您希望特定的控件在HUD顯示時啓用,您可以簡單地在showHUD
方法中將[self.view bringSubviewToFront:yourControl];
行添加爲
-(void) showHUD:(UIView *)view
{
if (self.HUDdisplayed == NO)
{
self.HUDdisplayed = YES;
HUD = [[MBProgressHUD showHUDAddedTo:self.view animated:YES] retain];
}
// HUD.delegate = self;
[self.view bringSubviewToFront:HUD];
[self.view bringSubviewToFront:yourControl];
}
將HUD添加到窗口而不是查看。 – 0x8badf00d 2012-07-16 12:10:55