如何防止在出现警报时显示视图控制器的 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()
}
}
我有一个自定义 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()
}
}