iOS--實現鍵盤退出

首先說下,我寫這些東西的初衷吧.我寫這些東西并不是來顯示自己多流弊,多牛叉,因為這些東西本來就很簡單,很基礎的知識點,大家上網百度一下基本都能找到,但是我為何還要寫這些東西呢?一方面是因為我當年是菜鳥的時候,再網上查找資料,確實能找到很多相關的資料,但是能看懂的就不多了,自己要慢慢的去扣知識點,很累,而且有時候看完那些大拿們寫的代碼,還是是是而非的感覺,并不是很懂.因此就想自己寫一些簡單的東西,淺顯易懂的,讓初學者學起來不那么累.

上篇文章對UITextField的協議UITextFieldDelegate中方法的作用做了一個簡單的介紹.接下來我簡單的介紹下如何點擊空白處,讓鍵盤退下去.

由于沒用封裝,所以直接在空白工程的AppDelegate.m的方法中開寫.我們首先需要布局一個和屏幕等大的視圖,以這個視圖為根視圖添加其他視圖控件,這樣的話,刪除這個視圖,就可以把它的子視圖也一并刪除.

創建于屏幕等大的內容頁,顏色設置成了亮灰

接下來創建兩個簡單的輸入框同時需要對兩個輸入框進行代理設置,設置成所在類為該輸入框的代理,并把這兩個輸入框添加到conView這個視圖上.

創建兩個輸入框,并設置代理


然后需要輸入框遵守UITextFieldDelegate協議,那么問題來了,我們現在要實現的是點擊空白區域回收鍵盤,我們只有選中某個輸入框的時候,鍵盤才會出現,那么我們點擊空白區域來觸發某個方法,這個方法中寫了讓鍵盤退出的語句,這樣就能是鍵盤退出了.當點擊空白區域會觸發- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;方法.這時候我們就需要對選中的輸入框后跳出來的鍵盤回收,我們如何知道,我們現在選中了那個輸入框呢?這就需要我們定義一個屬性,用來存放我們當前點擊的輸入框對象.

定義一個輸入框屬性,在整個.m文件中都可以調用

接下來,我們應該用UITextFieldDelegate協議中的一個方法,來獲取當前點擊的輸入框對象

獲取當前輸入框對象,保存在定義的屬性輸入框中

我們拿到當前正在操作的輸入框對象后,那么你點擊空白區域要觸發方法,觸發后,在方法中對當前鍵盤進行回收.

直接回收當前屬性定義的輸入框中對象的鍵盤

效果圖如下:



效果圖
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容