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

背景

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

addressLabelText.inputView = pickerView

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


问题

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


陷入误区

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


解决办法

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

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

func textFieldDidEndEditing(_ textField: UITextField) {

 }

感悟

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星宇大前端

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值