【问题标题】:How to prevent inputAccessoryView of a view controller from being shown when an alert is presented?如何防止出现警报时显示视图控制器的 inputAccessoryView?
【发布时间】:2020-02-04 08:42:27
【问题描述】:

我有一个自定义的UIViewController,我在其中重写了inputAccessoryView 以返回如下视图-

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

inputAccessoryView 会在视图控制器呈现 UIAlertController 时显示。

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

【问题讨论】:

    标签: ios swift uiview inputaccessoryview


    【解决方案1】:

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

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

    【讨论】:

    • 通常你应该添加一些词来解释你的答案。在 StackOverflow 上,纯代码的答案是不受欢迎的。例如,如果有人没有看到问题,您的回答是否有意义?并不真地。由于没有任何解释,您的答案出现在审核队列中,供人们投票决定是否应该删除它。我看到答案是可用的,但并不理想。请添加一些描述性信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-02
    • 1970-01-01
    • 2018-06-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-09
    相关资源
    最近更新 更多