我在 viewDidLoad
上调用了 SVProgressHUD
,如下所示:
[SVProgressHUD showWithStatus:@"Loading"];
[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error)
{
if ([data length] > 0 && error == nil)
{
//do some task
[SVProgressHUD dismiss];
}
}];
但我得到的是:SVProgressHUD
没有显示。我哪里出错了?
最佳答案
问题似乎是您从主线程以外的线程调用 show 和 dismiss 方法。当您需要访问 GUI 时,这会导致奇怪的问题。当您在主线程之外调用显示/隐藏方法时,请使用:
dispatch_async(dispatch_get_main_queue(), ^{
[SVProgressHUD showWithStatus:@"Loading"];
});
dispatch_async(dispatch_get_main_queue(), ^{
[SVProgressHUD dismiss];
});
关于iOS:SVProgressHUD 显示不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23153818/