gpt4 book ai didi

ios - superview 的 inputViewController 在点击 subview(UITextView) 时被调用

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:54:29 26 4
gpt4 key购买 nike

我有 UIView 子类,我向其中添加了一个 UITextField。我已将此 View 设置为我的 Viewcontroller 的顶 View 。在 UIViewSubclass 中,我重写了 inputViewController getter 以提供自定义键盘。

当我选择 UITextField 时,我假设 UITextFieldbecomeFirstResponder 被调用,并且我会看到与之关联的键盘。但是,除此之外,我的 UIView 子类 上的 inputViewController 方法也被调用,导致文本字段和 UIView 的输入 View 显示在另一个之上。我也没有看到 canBecomeFirstResponderbecomeFirstResponder 在我的 UIView 的子类 上被调用。仅调用 inputViewController 方法并显示自定义键盘。

谁能帮我理解为什么 inputViewController 在我的 UIView 的子类 上被调用,即使它没有成为第一响应者。

更新来自苹果文档 -“输入 View 是分配给 TextView 或自定义 View 的 inputView 属性的系统键盘的替代品。当有输入 View 时,即使文本对象是第一响应者,UIKit 也可能会换出键盘,并且它可能代表开发人员为非文本对象显示类似键盘的输入 View 。”

因此,如果我理解正确,那么 UIResponder 在我的 UIView 子类上调用 inputViewController 确实有意义,但理想情况下它应该用 inputViewController 交换文本字段键盘?显然,这不会发生在这里。

最佳答案

您是否使用 UIView 子类专门覆盖 inputViewController?您可以尝试不这样做,而是将 UITextField 子类化,然后在您的 UITextField 子类中覆盖 inputViewController。

关于ios - superview 的 inputViewController 在点击 subview(UITextView) 时被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41604001/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com