25

キーボードが表示されて完了ボタンが押された後、キーボードが非表示になったときに制御する必要があります。iOS でキーボードを非表示にするときにトリガーされるイベントはどれですか? ありがとうございました

4

3 に答える 3

59

はい、次を使用します

//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
}
于 2012-06-05T18:06:43.950 に答える
6

ユーザーが [完了] ボタンを押したときに知りたい場合は、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!")
}
于 2017-01-06T19:15:59.120 に答える
5

をリッスンできますUIKeyboardWillHideNotification。キーボードが閉じられるたびに送信されます。

于 2012-06-05T18:06:22.283 に答える