IQKeyboardManager 获取完成按钮的解决办法

背景

我这边要做一个城市三级选择页面,用pickerView做。

addressLabelText.inputView = pickerView

我指定了textFlied的inputView。由于项目已经集成了IQKeyboardManager所以不用单独设置toolbar。


问题

点击textflied的时候什么都不选择,点击完成按钮。内容是不填充到text的。


陷入误区

于是想找到IQKeyboardManager的done事件,找了源码很久发现作者并不想提供这类事件。如果强制改变源码可以实现,但是为什么别人都没有提出这个问题呢。


解决办法

原来是我自己陷入的误区,我一直在想监听点击完成按钮。其实IQKeyboardManager设计初衷不就是为了输入的时候键盘和输入框位置的调整吗?必然完成按钮和输入框状态有必然联系。

我们只需要监听text状态即可,如我需要监听

func textFieldDidEndEditing(_ textField: UITextField) {

 }

感悟

存在即合理同样的,不存在也是合理的。不要强行的去另辟蹊径,多想想背后的原理再动手。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券