我必须UIView Subclass
在其中添加一个UITextField
. 我已将此视图设置为我的 Viewcontroller 的顶视图。在 中UIViewSubclass
,我重写inputViewController
了 getter 以提供自定义键盘。
当我选择 时UITextField
,我会假设becomeFirstResponder
ofUITextField
被调用并且我会看到与之关联的键盘。然而,除此之外,inputViewController
我的方法UIView Subclass
也被调用,导致文本字段和 UIView 的输入视图都显示在另一个之上。canBecomeFirstResponder
我也看不到becomeFirstResponder
我的UIView's subclass
. 仅inputViewController
调用方法并显示自定义键盘。
任何人都可以帮助我理解为什么即使它没有成为第一响应者也会inputViewController
被召唤。UIView's subclass
来自苹果文档的更新 -“输入视图替代了分配给文本视图或自定义视图的 inputView 属性的系统键盘。当有输入视图时,即使文本对象是第一个,UIKit 也可能换出键盘响应者,它可能会代表开发人员为非文本对象显示类似键盘的输入视图。”
因此,如果我理解正确,UIResponder 在我的 UIView 子类上调用 inputViewController 确实有意义,但理想情况下它应该用 inputViewController 替换文本字段键盘?显然,这并没有发生在这里。