• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

[复制链接]
菜鸟教程小白 发表于 2022-12-11 18:34:16 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我有 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 替换文本字段键盘?显然,这并没有发生在这里。



Best Answer-推荐答案


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

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

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap