当前位置:   article > 正文

iOS开发,swift,多弹窗显示_swift弹框管理

swift弹框管理

多个弹窗在一个页面弹出,避免遮挡覆盖。一个弹完,再弹下一个,直到全部弹窗显示完成。

主要思路:弹窗在需要弹出时加入弹窗池,由弹窗池根据当前是否有弹窗以及优先级进行有序弹出。

配置类:

  1. /// 闭包
  2. public typealias CPopupManagerComplete = () -> Swift.Void
  3. /// 优先级枚举
  4. enum CPopupPriority: Int {
  5. case low = 1
  6. case medium = 2
  7. case high = 3
  8. }
  9. class CPopupConfig: NSObject {
  10. /// 是否被拦截:默认YES
  11. var isIntercept = true
  12. /// 当前弹窗是否在展示
  13. var isShowing = false
  14. /// 弹窗优先级:默认为High
  15. var priority: CPopupPriority = .high
  16. /// 弹窗标识:以类名为标识
  17. var popupClassName: String = ""
  18. /// 展示回调
  19. var showBlock: CPopupManagerComplete?
  20. /// 隐藏回调
  21. var dismissBlock: CPopupManagerComplete?
  22. }

弹窗池管理类:

  1. class CPopupManager: NSObject {
  2. /// 单例
  3. static var shared = CPopupManager()
  4. /// 弹窗池
  5. private var popupPool: [String: CPopupConfig]
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/418949
推荐阅读
  

闽ICP备14008679号