UITextFieldの編集中にユーザーが「戻る」キーボードボタンを押したことを検出するにはどうすればよいですか?ユーザーが「戻る」ボタンを押したときにキーボードを閉じるには、これを行う必要があります。
ありがとう。
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return NO;
}
ストーリーボードにデリゲートを設定することを忘れないでください...
委任は不要です。ここに1行のライナーがあります。
- (void)viewDidLoad {
[textField addTarget:textField
action:@selector(resignFirstResponder)
forControlEvents:UIControlEventEditingDidEndOnExit];
}
悲しいことに、ストーリーボードでこれを直接行うことはできません(ストーリーボードでアクションを発行するコントロールにアクションを接続することはできません)が、中間アクションを介して行うことができます。
Swift 3.0
override open func viewDidLoad() {
super.viewDidLoad()
textField.addTarget(self, action: #selector(enterPressed), for: .editingDidEndOnExit)
}
enterPressed()関数で、あなたがしているすべての動作を置きます
func enterPressed(){
//do something with typed text if needed
textField.resignFirstResponder()
}
UITextFieldDelegateを使用したSwiftバージョン:
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
resignFirstResponder()
return false
}