JAlertPresenter 1.0.0

JAlertPresenter 1.0.0

Jafar 维护。



  • Jafar

JAlertPresenter

以无冲突和无遗漏的方式优先显示应用的通知控制器。

快速示例

显示一个 Alert 控制器

当您发送一个控制器以显示时,有三种可能的状态:

  • 如果没有正在显示的控制器,则发送的控制器将被显示。
  • 如果正在显示具有更高优先级的控制器,则发送的控制器将被放置在优先级队列中,并在显示具有更高优先级的控制器之后显示。
  • 如果正在显示具有较低优先级的控制器,则首先将那个控制器关闭,以显示新的控制器,然后再次显示具有较低优先级的控制器。
import JAlertPresenter

// The root view controller that must present the alerts
let presenter = JAlertPresenter(rootViewController: self)

let alert1 = JUIAlertController(title: "High", message: "High priority alert", preferredStyle: .alert)
let action1 = UIAlertControllerAction(title: "Dismiss")
alert1.addAction(action1)

presenter.present(alert1, priority: .high) {
    print("High priority alert presented")
}

let alert2 = JUIAlertController(title: "Low", message: "Low priority alert", preferredStyle: .alert)
let action2 = UIAlertControllerAction(title: "Dismiss")
alert2.addAction(action2)

presenter.present(alert1, priority: .low) {
    print("Low priority alert presented")
}

撤消一个警报控制器

如果控制器正在显示,它将立即关闭。但如果它在优先级队列中,它将被从队列中移除而不会显示。

presenter.dismiss(alert1)

或者

presenter.dismiss(restorationIdentifier: alert1.restorationIdentifier!)