キーボードが表示され、完了ボタンが押された後、キーボードが非表示になるときに制御する必要があります。 iOSでキーボードが非表示になると、どのイベントがトリガーされますか?ありがとうございました
はい次を使用
//UIKeyboardDidHideNotification when keyboard is fully hidden
//name:UIKeyboardWillHideNotification when keyboard is going to be hidden
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(onKeyboardHide:) name:UIKeyboardWillHideNotification object:nil];
そしてonKeyboardHide
-(void)onKeyboardHide:(NSNotification *)notification
{
//keyboard will hide
}
ユーザーが[完了]ボタンを押すタイミングを知りたい場合は、UITextFieldDelegate
プロトコルを採用する必要があります。次に、Viewコントローラーでこのメソッドを実装します。
スウィフト3:
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
// this will hide the keyboard
textField.resignFirstResponder()
return true
}
キーボードが表示されているか非表示になっているのかを簡単に知りたい場合は、Notification
を使用します。
スウィフト3:
NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardWillShow(_:)), name: .UIKeyboardWillShow , object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardWillHide(_:)), name: .UIKeyboardWillHide , object: nil)
func keyboardWillShow(_ notification: NSNotification) {
print("keyboard will show!")
// To obtain the size of the keyboard:
let keyboardSize:CGSize = (notification.userInfo![UIKeyboardFrameBeginUserInfoKey] as! NSValue).cgRectValue.size
}
func keyboardWillHide(_ notification: NSNotification) {
print("Keyboard will hide!")
}
UIKeyboardWillHideNotification
をリッスンできます。これは、キーボードが閉じられるたびに送信されます。