Ios 为MBProgressHUD创建启动和停止功能

Ios 为MBProgressHUD创建启动和停止功能,ios,swift,xcode,function,mbprogresshud,Ios,Swift,Xcode,Function,Mbprogresshud,我试图创建两个函数。一个启动progressHUD,一个停止hud。我在UIViewController的扩展中创建了它。功能如下: func startProgressHUD() { let spinningActivity = MBProgressHUD.showAdded(to: self.view, animated: true) spinningActivity.label.text = "Loading" } func stopProgressHUD() {

我试图创建两个函数。一个启动
progressHUD
,一个停止
hud
。我在
UIViewController
的扩展中创建了它。功能如下:

func startProgressHUD() {
    let spinningActivity = MBProgressHUD.showAdded(to: self.view, animated: true)
    spinningActivity.label.text = "Loading"
}

func stopProgressHUD() {
    DispatchQueue.main.async {
        MBProgressHUD.hide(for: self.view, animated: true)
    }
}
第一个函数在调用时工作正常->HUD启动。 但是,当我调用停止功能时,HUD从不停止。根据描述,我在停止功能内调用的隐藏功能隐藏视图中最顶部的
HUD
。我在视图中只有一个
HUD
打开,但
HUD
从未停止

如果我使用:

func stopProgressHUD() {
    DispatchQueue.main.async {
        MBProgressHUD.hideAllHUDs(for: self.view, animated: true)
    }
}
我没有问题,但是
hidealhuds
功能已被弃用->警告状态为“在每个视图使用多个HUD时存储引用”。


如何停止HUD?

全局声明MBProgressHUD,然后显示和隐藏它。它肯定会工作

全局声明MBProgressHUD,然后显示和隐藏它。它肯定会工作

将您的
微调活动
声明为您的
视图控制器
中的全局变量。需要HUD时,您可以随时执行
self.spinningActivity=MBProgressHUD.showAdded(to:self.view,animated:true)
。当您不再需要它时,
self.spinningActivity?.hide()

将您的
spinningActivity
声明为
视图控制器中的全局变量。需要HUD时,您可以随时执行
self.spinningActivity=MBProgressHUD.showAdded(to:self.view,animated:true)
。当您不再需要它时,
self.spinningActivity?.hide()

HUD.flash(.Success,delay:2.0)将在2点后关闭second@GouravJoshi对于MBProgressHud,可以使用隐藏函数。没有disclose函数。@himanshuradiaya我将打开HUD,直到后端数据库发送所需信息,并且不能延迟。当您当时调用stopProgressHUD()时,请将此代码放入disclose HUD.HUD.flash(.Success,delay:2.0)中,使其在2之后关闭second@GouravJoshi对于MBHUD,您可以使用隐藏函数。没有disclose函数。@himanshuradiaya我将打开HUD,直到我的后端数据库发送所需信息,并且不能延迟。当您当时调用stopProgressHUD()时,请将此代码放入disclose HUD中。谢谢!工作起来像个魔杖!很有魅力