今天遇到了一個(gè)問題:想使用IQKeyboardManager點(diǎn)擊空白處收鍵盤,我就用cocopods引入了IQ。但是由于我的頁面中有多個(gè)textField,其中一個(gè)textField編輯的時(shí)候會(huì)彈出AlertController,這就出現(xiàn)問題了,textFieldShouldBeginEditing這個(gè)方法會(huì)多次調(diào)用,有幾個(gè)textField就調(diào)用幾次,而且不管點(diǎn)擊的哪個(gè)textField都會(huì)彈出AlertController,沒法控制了。后來找到了解決辦法:
引入:#import<IQUIView+Hierarchy.h>,注意里面有個(gè)屬性:
大體意思就是說:如果要求textField成為第一響應(yīng)者,那么這個(gè)屬性就返回YES,反之,返回NO。那么我們要做的就在textFieldShouldBeginEditing里面判斷當(dāng)前的textField的isAskingCanBecomeFirstResponder屬性,如果是NO,就去做我們自己定義的事(彈出AlertController),代碼如下