Подтвердить что ты не робот

Событие iOS при скрытии клавиатуры

Мне нужно управлять, после нажатия клавиши и нажатия кнопки, когда клавиатура скрывается. Какое событие запускается при скрытии клавиатуры на iOS? Спасибо вам

4b9b3361

Ответ 1

Да Используйте следующие

//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
}

Ответ 2

Вы можете прослушивать UIKeyboardWillHideNotification, который отправляется всякий раз, когда клавиатура отклоняется.

Ответ 3

Если вы хотите узнать, когда пользователь нажимает кнопку "Готово", вы должны принять протокол UITextFieldDelegate, а затем в контроллере View реализован этот метод:

Swift 3:

func textFieldShouldReturn(_ textField: UITextField) -> Bool {
    // this will hide the keyboard
    textField.resignFirstResponder()
    return true
}

Если вы хотите просто знать, когда клавиатура отображается или скрывается, используйте Notification:

Swift 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!")
}