0

我在我的应用程序中添加了 SVProgressHud,并且在大多数 viewController 中工作得非常好。但是当我展示 SVProgressHud 时,它在导航控制器的第一个孩子中表现得很奇怪,但它会在几秒钟后消失,只显示活动指示器。
看到这个图像,当我显示 progressHud 时显示

在此处输入图像描述

这将在几秒钟后显示

在此处输入图像描述

我在 viewDidLoad 方法中展示了这个进度界面,这是我的代码。

- (void)viewDidLoad
{
    [super viewDidLoad];

    [SVProgressHUD show];
    [SVProgressHUD showWithStatus:nil maskType:SVProgressHUDMaskTypeBlack];
    [self performSelector:@selector(CallLanSelectDataWS) withObject:@"" afterDelay:0.1];
}

并在流程完成后关闭 SVProgressHud。

4

3 回答 3

2

在后台线程中执行任务?

[SVProgressHUD show];

//Execute your task in differentthread
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

    [self callLanSelectDataWS];

    // After this task is done switch back to main thread
    dispatch_async(dispatch_get_main_queue(), ^{

        [SVProgressHUD showSuccessWithStatus:@"YEAH!"];
    });
});
于 2013-08-27T07:00:23.930 回答
1

目前正在寻找相同案例的答案。

默认情况下 SVProgress 将在 5.0s 后自动关闭,在我的情况下,我使用 hack 来禁用关闭

在斯威夫特:

SVProgressHUD.setMinimumDismissTimeInterval(.infinity * 5.0)

也许根据需要设置指定的最小/最大时间间隔,强制解除可能会有所帮助

于 2019-11-28T14:20:05.943 回答
0

您可以使用 ProgressHUD 库,而不是 SVPRogressHUD:

    ProgressHUD.show("put here text you want to be below activity indicator", interaction: true) 

或者

    ProgressHUD.show("", interaction: true) 

如果您不想要下面的任何文字,请将其留空。

当你想关闭它时,只需输入:

    ProgressHUD.dismiss()
于 2019-08-08T19:19:53.817 回答