为 MBProgressHUD 创建启动和停止函数
Creating Start and Stop Functions for MBProgressHUD
我正在尝试创建两个函数。一个启动 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 启动。
但是,当我调用 stop 函数时,HUD 永远不会停止。 根据描述,我在 stop 函数中调用的 hide 函数隐藏了最上面的 HUD
看法。我在视图中只打开了一个 HUD
,但 HUD
从未停止。
如果我使用:
func stopProgressHUD() {
DispatchQueue.main.async {
MBProgressHUD.hideAllHUDs(for: self.view, animated: true)
}
}
我没问题,但是 hideAllHUDs
功能已弃用 -> 警告状态,'store references when using more than one HUD per view'.
如何让 HUD 停止?
全局声明MBProgressHUD,然后显示和隐藏它。肯定有用
在 ViewController
中将 spinningActivity
声明为全局变量。任何时候需要 HUD 时,您都可以 self.spinningActivity = MBProgressHUD.showAdded(to: self.view, animated: true)
。当您不再需要它时,self.spinningActivity?.hide()
我正在尝试创建两个函数。一个启动 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 启动。
但是,当我调用 stop 函数时,HUD 永远不会停止。 根据描述,我在 stop 函数中调用的 hide 函数隐藏了最上面的 HUD
看法。我在视图中只打开了一个 HUD
,但 HUD
从未停止。
如果我使用:
func stopProgressHUD() {
DispatchQueue.main.async {
MBProgressHUD.hideAllHUDs(for: self.view, animated: true)
}
}
我没问题,但是 hideAllHUDs
功能已弃用 -> 警告状态,'store references when using more than one HUD per view'.
如何让 HUD 停止?
全局声明MBProgressHUD,然后显示和隐藏它。肯定有用
在 ViewController
中将 spinningActivity
声明为全局变量。任何时候需要 HUD 时,您都可以 self.spinningActivity = MBProgressHUD.showAdded(to: self.view, animated: true)
。当您不再需要它时,self.spinningActivity?.hide()