UITextField 輸入完成後,自動收起

UITextField 提供一個文字框可供使用者輸入,在我們使用 Interface Builder 編輯的時候可以看到許多關於 UITextField 的屬性,但是卻沒有一項屬性是告訴我們在輸入結束按下 Return Key 時小鍵盤要如何收起來,所以在這裏將介紹兩種收起小鍵盤的方法,分別是點擊 Return Key 與點擊 UITextField 以外的背景。(View-based Template)

 

 首先是點擊 Return Key 的部份,先寫下一個回傳 IBAction 的事件,程式碼如下。

C代碼  收藏代碼
  1. - (IBAction)doEditFieldDone:(id)sender {  
  2.   
  3.  //取消目前是第一回應者(鍵盤消失)  
  4.  [sender resignFirstResponder];  
  5.  }  
 

接下來就是在 Interface Builder 中把此函式與對應的事件 Events 連接起來,通常是 Did End On Exit 事件。

 

 

另一種方式就是點擊背景收起小鍵盤,一樣寫下一個回傳 IBAction 的事件,不過由於是點擊背景,所以系統並不知道是要收起哪一個 UITextField 所產生的小鍵盤,也就是不知道誰纔是目前第一回應者,所以在程式碼內必須指定該 UITextField 而不能使用 Sender。

 

C代碼  收藏代碼
  1. //點擊背景  
  2.  - (IBAction)onBackgroungHit:(id)sender {  
  3.   
  4.  //取消目前是第一回應者(鍵盤消失)  
  5.  [textField resignFirstResponder];  
  6.  }  
 

如果要使用地二種方式收起小鍵盤,記得要把 UIView 的 Class 設定成 UIControl,只有 UIControl Class 的控制項纔可以觸發動作。

 

 

 接下來一樣是把此函式與對應的事件 Events 連接起來,通常是 Touch Up Inside 事件。

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章