IQKeyboardManager是一个帮你解脱iOS开发中管理键盘弹出后需要做相应处理的第三方库。
但是有时候我们会遇到这种问题,需要把textfield封装到不同的容器中,导致弹出的toolbar没有next&previous按钮,不能上下切换。
(左图为运行后的效果,右图为这个视图的层级结构)
经过追踪源码发现,它在有一套自己的寻找textfield的机制,默认有两个容器内部的textfield可以相互切换。
- UITableView
- UICollectionView
如果我们为何更好的扩展,把textfield封装成不同的容器里,可能导致它们不能切换了。
以下为解决方法:
- 新建一个类集成UIView,什么都不需要做,我这里是叫BMEnableIQKeyboardView
- [[IQKeyboardManager sharedManager] considerToolbarPreviousNextInViewClass:[BMEnableIQKeyboardView class]];
- 把包含你textfiled的容易换成自定义的view。
OK,圆满解决问题。