今天遇到了一个问题:想使用IQKeyboardManager点击空白处收键盘,我就用cocopods引入了IQ。但是由于我的页面中有多个textField,其中一个textField编辑的时候会弹出AlertController,这就出现问题了,textFieldShouldBeginEditing这个方法会多次调用,有几个textField就调用几次,而且不管点击的哪个textField都会弹出AlertController,没法控制了。后来找到了解决办法:
引入:#import<IQUIView+Hierarchy.h>,注意里面有个属性:
大体意思就是说:如果要求textField成为第一响应者,那么这个属性就返回YES,反之,返回NO。那么我们要做的就在textFieldShouldBeginEditing里面判断当前的textField的isAskingCanBecomeFirstResponder属性,如果是NO,就去做我们自己定义的事(弹出AlertController),代码如下