UITextField 提供一個文字框可供使用者輸入,在我們使用 Interface Builder 編輯的時候可以看到許多關於 UITextField 的屬性,但是卻沒有一項屬性是告訴我們在輸入結束按下 Return Key 時小鍵盤要如何收起來,所以在這裡將介紹兩種收起小鍵盤的方法,分別是點擊 Return Key 與點擊 UITextField 以外的背景。(View-based Template)
首先是點擊 Return Key 的部份,先寫下一個回傳 IBAction 的事件,程式碼如下。
- (IBAction)doEditFieldDone:(id)sender {
//取消目前是第一回應者(鍵盤消失)
[sender resignFirstResponder];
}
接下來就是在 Interface Builder 中把此函式與對應的事件 Events 連接起來,通常是 Did End On Exit 事件。
另一種方式就是點擊背景收起小鍵盤,一樣寫下一個回傳 IBAction 的事件,不過由於是點擊背景,所以系統並不知道是要收起哪一個 UITextField 所產生的小鍵盤,也就是不知道誰才是目前第一回應者,所以在程式碼內必須指定該 UITextField 而不能使用 Sender。
//點擊背景
- (IBAction)onBackgroungHit:(id)sender {
//取消目前是第一回應者(鍵盤消失)
[textField resignFirstResponder];
}
如果要使用地二種方式收起小鍵盤,記得要把 UIView 的 Class 設定成 UIControl,只有 UIControl Class 的控制項才可以觸發動作。
接下來一樣是把此函式與對應的事件 Events 連接起來,通常是 Touch Up Inside 事件。
沒有留言:
張貼留言