如何防止在出现警报时显示视图控制器的 inputAccessoryView?

How to prevent inputAccessoryView of a view controller from being shown when an alert is presented?

我有一个自定义 UIViewController,其中我已将 inputAccessoryView 覆盖为 return 视图,如下 -

extension LoginViewController {
    override var inputAccessoryView: UIView? {
        CustomToolbar()
    }
}

当视图控制器呈现 UIAlertController 时显示 inputAccessoryView

谁能指出如何防止 inputAccessoryView 在出现警报时显示?

您可以在 inputAccessoryView returning 逻辑中添加检查,并且在显示警报控制器时 return nil。

extension LoginViewController {
    override var inputAccessoryView: UIView? {
         if let p = presentedViewController, p.isKind(of: UIAlertController.self) {
                return nil
            }
        CustomToolbar()
     }
}