Ios MBProgressHUD指示灯不隐藏
我能够在viewDidLoad中成功显示HUD指示器,但无法在webview完全加载时在webViewDidFinishLoad方法中隐藏它。请帮忙 我正在使用以下代码:: 在.h文件中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
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;
}