IQKeyboardManager 獲取完成按鈕的解決辦法
背景
我這邊要做一個城市三級選擇頁面,用pickerView做。
addressLabelText.inputView = pickerView
我指定了textFlied的inputView。由於專案已經整合了IQKeyboardManager所以不用單獨設定toolbar。
問題
點選textflied的時候什麼都不選擇,點選完成按鈕。內容是不填充到text的。
陷入誤區
於是想找到IQKeyboardManager的done事件,找了原始碼很久發現作者並不想提供這類事件。如果強制改變原始碼可以實現,但是為什麼別人都沒有提出這個問題呢。
解決辦法
原來是我自己陷入的誤區,我一直在想監聽點選完成按鈕。其實IQKeyboardManager設計初衷不就是為了輸入的時候鍵盤和輸入框位置的調整嗎?必然完成按鈕和輸入框狀態有必然聯絡。
我們只需要監聽text狀態即可,如我需要監聽
func textFieldDidEndEditing(_ textField: UITextField) {
}
感悟
存在即合理同樣的,不存在也是合理的。不要強行的去另闢蹊徑,多想想背後的原理再動手。
相關文章
- 人人生成器test類的按鈕消失解決辦法
- 當laravel獲取不到session的三種解決辦法LaravelSession
- SSH在呼叫Service時獲取為空-解決辦法
- Dynamics 365 配置IFD的嚮導介面下一步按鈕禁用的解決辦法
- 獲取cookie辦法Cookie
- JavaScript獲取選中radio單選按鈕值JavaScript
- 教程中使用bootstrap5之後,點選導航按鈕不展開的解決辦法boot
- 關於Quartus的start按鈕灰色無法下載的問題的解決
- win10指紋開關按鈕灰色怎麼辦_win10指紋設定按鈕灰色的解決教程Win10
- SpringBoot打jar包或war包獲取不到資原始檔解決辦法Spring BootJAR
- MFC 捕獲按鈕 按下和抬起 (轉)
- 微軟商店無法獲取怎麼辦_win10應用商店點獲取沒反應的解決方法微軟Win10
- vue js 獲取滾動距離 以及 返回頂部按鈕VueJS
- laravel 使用 axios 通過 put 上傳檔案獲取不到資料的解決辦法LaraveliOS
- 在IDEA中使用JDBC獲取資料庫連線時的報錯及解決辦法IdeaJDBC資料庫
- Tkinter (04) 核取按鈕部件 Checkbutton
- window10無法完成格式化怎麼辦_window10無法完成格式化的解決方法
- 公寓噪音的解決辦法
- Fiori Elements List Report table 裡的普通按鈕,Global 按鈕 和 Determining 按鈕
- windows10無法完成格式化怎麼辦_win10 windows無法完成格式化的解決方法WindowsWin10
- 單選按鈕和核取方塊
- Ubuntu 報錯:無法獲得鎖 /var/lib/dpkg/lock解決辦法Ubuntu
- anaconda的安裝和解除安裝及安裝完成後無法使用conda解決辦法
- Vue動態路由快取不相互影響的解決辦法Vue路由快取
- c# excel讀取的日期變成整數的解決辦法C#Excel
- 如何解決iPhone按鈕卡住的問題iPhone
- 微信小程式單擊事件與長按事件衝突的解決辦法微信小程式事件
- 由小見大!不規則造型按鈕解決方案
- github慢解決辦法Github
- Namespoace Terminating 解決辦法
- Windows10系統下C盤“擴充套件卷”按鈕呈灰色無法選取如何解決Windows套件
- 小程式沒有返回按鈕怎麼辦?
- Tkinter (24) 核取按鈕部件 ttk.Checkbutton
- css設定按鈕心跳收縮後,按鈕文字上下抖動,如何解決?CSS
- windows10無法完成安裝怎麼解決_win10提示windows無法完成安裝的解決教程WindowsWin10
- pycharm git update project按鈕解釋PyCharmGitProject
- 檔案無法粉碎解決辦法
- Vue 下 ESLint 的 error 解決辦法VueEsLintError