MBProgressHUD块接口,直到操作完成

时间:2012-07-16 12:07:17

标签: objective-c iphone ios5 ios4 mbprogresshud

我需要阻止界面,直到MBProgressHUD操作完成。我确实引用了这个帖子,

Block interface until operation is done

根据它,我们应该禁用每个不适合我的项目。我的情况是我需要禁止用户点击后退按钮。我确实尝试HUD.userInteractionEnabled = YES禁用除后退按钮以外的每个控制器。有没有办法阻止用户从该控制器弹出?

的问候,
Dilshan

4 个答案:

答案 0 :(得分:11)

如果你找不到合适的方法,你可以忽略整个用户的互动

[[UIApplication sharedApplication] beginIgnoringInteractionEvents];

.U可以通过

来阻止它
[[UIApplication sharedApplication] endIgnoringInteractionEvents];

答案 1 :(得分:11)

您可以将MBProgressHUD添加到导航控制器的视图中,这样它也可以阻止与后退按钮的交互:

[MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];

答案 2 :(得分:4)

如果您希望特定控件在显示HUD时启用,则只需在[self.view bringSubviewToFront:yourControl];方法中添加行showHUD

-(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];

}

答案 3 :(得分:0)

这是我将MBProgressHUD添加到我的视图中的方式,它会阻止所有输入,直到删除它为止:

MBProgressHUD HUD = [[MBProgressHUD alloc] initWithView:self.view];
HUD.opacity = 0.7f;

[self.view addSubview:HUD];

HUD.delegate = self;
[HUD show:YES];

注意: self是正在添加HUD的视图控制器

相关问题