-2

当我收到来自服务器的 xml 响应并且我使用 httpconnection 从服务器获取 xml 时,我想隐藏 MBProgressHUD,有人帮我吗?谢谢之前..

4

3 回答 3

2

按照以下步骤隐藏 ProgressHUD

为 hud 取一个类级别的变量

MBProgressHUD *hud;

然后做两个函数

-(void)showProgress
{
if (!hud)
    hud = [[MBProgressHUD alloc] initWithView:self.view];

    [self.view addSubview:hud];
    //hud.delegate = self;
    hud.labelText = @"Loading...";
    [hud show:YES];
}
-(void)hideProgress
{
    [hud hide:YES];
    [hud removeFromSuperview];
    [hud release];
    hud=nil;
}

当您发起网络命中时调用 showProgress() 并在调用成功或失败回调时调用 hideProgress()。

于 2012-05-24T09:43:25.137 回答
0

我认为您将 HUD delgete 用于隐藏

尝试这个:-

-(void)hudWasHidden          // for remove the hud
{
    [HUD removeFromSuperview];

}

打电话给哈德

HUD         = [[MBProgressHUD alloc] initWithView:self.view];
            HUD.graceTime     = .1;
            HUD.navigationBar = self.navigationController.navigationBar;
            HUD.labelFont     = [UIFont fontWithName:@"Arial" size:14];
            HUD.delegate      = self;
            [self.view addSubview:HUD];
            [HUD showWhileExecuting:@selector(yourFunction name:) onTarget:self withObject:nil animated:YES];

在 .h 文件中使用这个

MBProgressHUD *HUD;

于 2012-05-24T09:38:21.857 回答
0

您应该在类或从服务器获取数据的委托中保留 MBProgressHUD 的实例,

在界面中

{
    MBProgressHUD *hud;
}
  • 在进度开始时执行 [hud show..]
  • [hud hide] 完成后。
于 2012-05-24T09:29:30.037 回答