Various fixes

This commit is contained in:
Ilya Laktyushin
2022-07-14 20:46:23 +02:00
124 changed files with 3573 additions and 618 deletions

View File

@@ -89,7 +89,7 @@ open class AlertController: ViewController, StandalonePresentableController {
private weak var existingAlertController: AlertController?
public var willDismiss: (() -> Void)?
public var dismissed: (() -> Void)?
public var dismissed: ((Bool) -> Void)?
public init(theme: AlertControllerTheme, contentNode: AlertContentNode, existingAlertController: AlertController? = nil, allowInputInset: Bool = true) {
self.theme = theme
@@ -108,6 +108,7 @@ open class AlertController: ViewController, StandalonePresentableController {
fatalError("init(coder:) has not been implemented")
}
private var isDismissed = false
override open func loadDisplayNode() {
self.displayNode = AlertControllerNode(contentNode: self.contentNode, theme: self.theme, allowInputInset: self.allowInputInset)
self.displayNodeDidLoad()
@@ -118,6 +119,8 @@ open class AlertController: ViewController, StandalonePresentableController {
if let strongSelf = self, strongSelf.contentNode.dismissOnOutsideTap {
strongSelf.willDismiss?()
strongSelf.controllerNode.animateOut {
self?.dismissed?(true)
self?.isDismissed = true
self?.dismiss()
}
}
@@ -140,7 +143,10 @@ open class AlertController: ViewController, StandalonePresentableController {
}
override open func dismiss(completion: (() -> Void)? = nil) {
self.dismissed?()
if !self.isDismissed {
self.isDismissed = true
self.dismissed?(false)
}
self.presentingViewController?.dismiss(animated: false, completion: completion)
}