diff --git a/ProHUD/Guard/GuardController.swift b/ProHUD/Guard/GuardController.swift index 485fc96..60cc46c 100644 --- a/ProHUD/Guard/GuardController.swift +++ b/ProHUD/Guard/GuardController.swift @@ -120,6 +120,7 @@ public extension Guard { func pop() { if displaying { debug("pop") + willDisappearCallback?() displaying = false view.isUserInteractionEnabled = false self.removeFromParent() @@ -207,6 +208,12 @@ public extension Guard { return self } + /// 消失事件 + /// - Parameter callback: 事件回调 + @discardableResult func willDisappear(_ callback: (() -> Void)?) -> Guard { + willDisappearCallback = callback + return self + } /// 消失事件 /// - Parameter callback: 事件回调 @discardableResult func didDisappear(_ callback: (() -> Void)?) -> Guard { diff --git a/ProHUD/HUDController.swift b/ProHUD/HUDController.swift index bf6e53f..b2a9808 100644 --- a/ProHUD/HUDController.swift +++ b/ProHUD/HUDController.swift @@ -13,6 +13,7 @@ public class HUDController: UIViewController { /// ID标识 public var identifier = String(Date().timeIntervalSince1970) + internal var willDisappearCallback: (() -> Void)? /// 消失回调 internal var disappearCallback: (() -> Void)? @@ -39,6 +40,7 @@ public class HUDController: UIViewController { // Do any additional setup after loading the view. } + public override func viewDidDisappear(_ animated: Bool) { super.viewDidDisappear(animated) disappearCallback?()