Ios MBProgressHUD指示灯不隐藏

Ios MBProgressHUD指示灯不隐藏,ios,mbprogresshud,Ios,Mbprogresshud,我能够在viewDidLoad中成功显示HUD指示器,但无法在webview完全加载时在webViewDidFinishLoad方法中隐藏它。请帮忙 我正在使用以下代码:: 在.h文件中 MBProgressHUD *HUD; 在viewDidLoad中 - (void)viewDidLoad { [super viewDidLoad]; NSString *query = [[NSString alloc] initWithFormat:@"http://localhost

我能够在viewDidLoad中成功显示HUD指示器,但无法在webview完全加载时在webViewDidFinishLoad方法中隐藏它。请帮忙

我正在使用以下代码::

在.h文件中

MBProgressHUD *HUD;
在viewDidLoad中

- (void)viewDidLoad
{
    [super viewDidLoad];

    NSString *query = [[NSString alloc] initWithFormat:@"http://localhost/index.php?uid=%@", [[UIDevice currentDevice] uniqueIdentifier]];
    NSURL *url = [[NSURL alloc] initWithString:query];

    NSString *response = [[NSString alloc] initWithContentsOfURL:url];
    if(response)
    {
          [webView loadRequest:[NSURLRequest requestWithURL:url]];
    }
    else
    {
        //NSLog(@"err %@",response);
    }


    HUD = [[MBProgressHUD showHUDAddedTo:self.view animated:YES] retain];
    HUD.delegate = self;
    HUD.labelText = @"loading";

}
在webViewDidFinishLoad中

- (void)webViewDidFinishLoad:(UIWebView *)web
{
    [HUD hide:TRUE]; //it does not work for me :(
}

尝试使用此类方法删除它:

+ (BOOL)hideHUDForView:(UIView *)view animated:(BOOL)animated 

如果使用此方法,则应考虑以以下方式重写viewDidLoad:

- (void)viewDidLoad
{
    [super viewDidLoad];

    //...

    MBProgressHUD *HUD = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
    HUD.labelText = @"loading";
}

我已经修复了错误,我将代码从viewDidLoad移动到webViewDidStartLoad,这次一切正常:)

试试这个

[HUD hide:YES];
if(HUD!=nil && [HUD retainCount]>0)
{ 
    [HUD removeFromSuperview];
    [HUD release];
    HUD=nil;
}

您不应该从
viewDidLoad
调用
MBProgressHUD
,尝试从
viewDidAppear
调用它,一切都应该正常。

如果找不到修复方法,请尝试一下。在您的情况下,只需调用
[SVProgressHUD showWithStatus:@“加载”]
然后
[SVProgressHUD disclose]
谢谢,SVProgressHUD完全可以实现我想要的功能,但奇怪的是它只在xcode模拟器中工作,在我的ipad上不工作,我做错了什么?请尝试在
viewdide:
中显示它,而不是
viewdideload
- (void)webViewDidStartLoad:(UIWebView *)web
{
    MBProgressHUD *HUD = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
    HUD.labelText = @"loading";
}

- (void)webViewDidFinishLoad:(UIWebView *)web
{

    [MBProgressHUD hideHUDForView:self.view animated:YES];
}
[HUD hide:YES];
if(HUD!=nil && [HUD retainCount]>0)
{ 
    [HUD removeFromSuperview];
    [HUD release];
    HUD=nil;
}