SVProgressHUD 在显示另一条消息后不显示
SVProgressHUD doesnt show after showing another message
我正在尝试使用 SVProgressHUD 显示微调器,当我从服务器收到异步响应时,关闭该 HUD 并显示另一个 HUD,其中包含从服务器收到的消息。
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
SVProgressHUD.setDefaultStyle(.Custom)
SVProgressHUD.setForegroundColor(UIColor.whiteColor())
SVProgressHUD.setBackgroundColor(UIColor.clearColor())
SVProgressHUD.setDefaultMaskType(SVProgressHUDMaskType.Clear)
SVProgressHUD.show()
loadData()
}
private func loadData() {
ApiService.getData { (succeed, message) -> () in
dispatch_async(dispatch_get_main_queue(), { () -> Void in
self.dismissHud()
})
dispatch_async(dispatch_get_main_queue(), { () -> Void in
SVProgressHUD.showInfoWithStatus("I can't see this")
})
}
如果我删除 viewDidAppear 中显示 HUD 的代码,我可以看到该消息。
有任何想法吗?感谢
有两点不对,第一,为什么分派到同一个线程两次?其次,如果您只想显示 HUD,请不要忽略它。
SVProgressHUD.showInfoWithStatus
会在一段时间后隐藏该消息。
您没有看到第二个 HUD 的原因是它仍然删除了第一个。由于您只想更新,因此请不要调用关闭。
我已将 FadeInAnimationDuration
和 FadeoutAnimationDuration
更改为 0.0
,对我来说效果很好。
我是这样使用 HUD 的:
显示 HUD :
func showActivityLoader() {
dispatch_async(dispatch_get_main_queue(), {
SVProgressHUD.setFadeInAnimationDuration(0.0)
SVProgressHUD.setFadeOutAnimationDuration(0.0)
SVProgressHUD.setDefaultMaskType(SVProgressHUDMaskType.Clear)
SVProgressHUD.show()
})
}
隐藏 HUD :
func dismissActivityLoader() {
dispatch_async(dispatch_get_main_queue(), {
SVProgressHUD.dismiss()
})
}
我正在尝试使用 SVProgressHUD 显示微调器,当我从服务器收到异步响应时,关闭该 HUD 并显示另一个 HUD,其中包含从服务器收到的消息。
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
SVProgressHUD.setDefaultStyle(.Custom)
SVProgressHUD.setForegroundColor(UIColor.whiteColor())
SVProgressHUD.setBackgroundColor(UIColor.clearColor())
SVProgressHUD.setDefaultMaskType(SVProgressHUDMaskType.Clear)
SVProgressHUD.show()
loadData()
}
private func loadData() {
ApiService.getData { (succeed, message) -> () in
dispatch_async(dispatch_get_main_queue(), { () -> Void in
self.dismissHud()
})
dispatch_async(dispatch_get_main_queue(), { () -> Void in
SVProgressHUD.showInfoWithStatus("I can't see this")
})
}
如果我删除 viewDidAppear 中显示 HUD 的代码,我可以看到该消息。 有任何想法吗?感谢
有两点不对,第一,为什么分派到同一个线程两次?其次,如果您只想显示 HUD,请不要忽略它。
SVProgressHUD.showInfoWithStatus
会在一段时间后隐藏该消息。
您没有看到第二个 HUD 的原因是它仍然删除了第一个。由于您只想更新,因此请不要调用关闭。
我已将 FadeInAnimationDuration
和 FadeoutAnimationDuration
更改为 0.0
,对我来说效果很好。
我是这样使用 HUD 的:
显示 HUD :
func showActivityLoader() {
dispatch_async(dispatch_get_main_queue(), {
SVProgressHUD.setFadeInAnimationDuration(0.0)
SVProgressHUD.setFadeOutAnimationDuration(0.0)
SVProgressHUD.setDefaultMaskType(SVProgressHUDMaskType.Clear)
SVProgressHUD.show()
})
}
隐藏 HUD :
func dismissActivityLoader() {
dispatch_async(dispatch_get_main_queue(), {
SVProgressHUD.dismiss()
})
}