ios - 无法在 iOS 中隐藏 MBProgressHUD

标签 ios objective-c mbprogresshud

我尝试使用此代码显示 MBProgressHUD,但是当我单击另一个选项卡并返回到此选项卡时,MBProgressHUD 无法隐藏。我尝试了 2 个功能:

对于 updatearray()

 MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
hud.mode = MBProgressHUDModeIndeterminate;
hud.labelText = @"Loading..";
dispatch_queue_t dispatchQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0);
dispatch_async(dispatchQueue, ^(void)
{
[self updatearray];
dispatch_sync(dispatch_get_main_queue(), ^{ 
[hud hide:YES];
});
}); 

对于 getVideolist()

 MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
    hud.mode = MBProgressHUDModeIndeterminate;
    hud.labelText = @"Loading..";
    dispatch_queue_t dispatchQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0);
    dispatch_async(dispatchQueue, ^(void)
    {
    [self getVideolist];
    dispatch_sync(dispatch_get_main_queue(), ^{ 
    [hud hide:YES];
    });
    }); 

第一次运行正常。但是点击另一个标签并返回后,它无法隐藏。

最佳答案

尝试使您的 MBProgressHUD 成为私有(private)属性(强、非原子)。然后您可以在其他方法或线程中引用您的进度 hud 的相同实例并更新或隐藏它。

关于ios - 无法在 iOS 中隐藏 MBProgressHUD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19353381/

相关文章:

ios - 客户端 GKSession 在拒绝连接后认为已连接

ios - 按钮不会在循环之前隐藏

ios - 在 Objective c 的键盘上方显示 Toast

ios - 兄弟 NSManagedObjectContext 如何交互?

iphone - 如何制作一个可以覆盖导航栏的UIView?

ios - 如何在 swift 3 中为多个值实现模型类?

objective-c - UIButton 在点击时显示选定状态

objective-c - 将 C 指针添加到 NSMutableArray

ios - swift 2 : MBProgressHUD Refresh later Error : Terminating app due to uncaught exception 'NSRangeException'

ios - 带有 gif 图像的 MBProgressHud