iOS开发,swift,多弹窗显示

本文介绍了如何在iOS应用中实现多个弹窗依次有序显示,避免遮挡。通过创建弹窗池管理类,根据弹窗优先级,在当前无弹窗时按顺序弹出,确保每个弹窗都能正确展示。
摘要由CSDN通过智能技术生成

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

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

配置类:

/// 闭包
public typealias CPopupManagerComplete = () -> Swift.Void

/// 优先级枚举
enum CPopupPriority: Int {
    case low = 1
    case medium = 2
    case high = 3
}

class CPopupConfig: NSObject {
    
    /// 是否被拦截:默认YES
    var isIntercept = true
    /// 当前弹窗是否在展示
    var isShowing = false
    /// 弹窗优先级:默认为High
    var priority: CPopupPriority = .high
    /// 弹窗标识:以类名为标识
    var popupClassName: String = ""
    /// 展示回调
    var showBlock: CPopupManagerComplete?
    /// 隐藏回调
    var dismissBlock: CPopupManagerComplete?
}

弹窗池管理类:


class CPopupManager: NSObject {
    /// 单例
    static var shared = CPopupManager()
    /// 弹窗池
    private var popupPool: [String: CPopupConfig] 
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值