Alert 是用于弹窗的组件,可以预先对不同的场景配置不同的默认值(图标、持续时间)。由于 ProHUD 对每个实例记录了 ID ,您可以对已发布的实例进行文本和按钮的更新,包括新增、修改、删除文本和按钮,可以避免重叠。当不得不有多个弹窗同时出现时,它们呈现出景深效果。如果您不慎忘了处理超时情况,ProHUD 的弹窗也不会永远无法关闭,它默认会在一定时间后出现「强制退出」按钮以防止页面卡死。
简单的例子
示例1:发布一个 Loading
Alert.push(title: "正在同步") |
如果您定义了「场景」模板,则可以这样:
Alert.push("loading", scene: .sync2) { (vc) in |
为了与另一种写法进行对比,使用的 sync2 是一个没有默认标题的场景模板:
static var sync2: ProHUD.Scene { |
Alert.push("loading", scene: .sync2) |
与「写法2」唯一的区别就是调整了顺序,先 push 出去,再 update 。
为了与另一种写法进行对比,使用的 sync2 是一个没有默认标题的场景模板:
static var sync2: ProHUD.Scene { |
更新已有实例
示例:获取刚才弹出的 Loading,把它更新为加载成功。
Alert.find("loading", last: { (a) in |
如何避免重叠
示例:发布一个横幅或者弹窗,如果已经有了就更新标题。
Alert.find("aaa", last: { (t) in |