Клавиатура будет отображать уведомление не называется iOS 12 - PullRequest
0 голосов
/ 23 сентября 2018

В моем приложении я хотел получить уведомление для UIResponder.keyboardWillShowNotification, чтобы обновить позицию y моего текстового поля.Это работало до iOS 12;теперь он не вызывается ни в одном из моих контроллеров представления (он работает для других).Вот мой код для этого:

@objc func keyboardWillShow(_ notification: Notification) {
    print("keyboard will show 2")
    guard let frameValue: NSValue = notification.userInfo?[UIResponder.keyboardFrameEndUserInfoKey] as? NSValue else {
        return
    }
    let keyboardFrame = frameValue.cgRectValue
    UIView.animate(withDuration: animationTime) {
        self.addViewBottomConstraint.constant = keyboardFrame.size.height
        self.view.layoutIfNeeded()
        print("Bottom contraint height = \(self.addViewBottomConstraint.constant)")
    }
}

@objc func keyboardWillHide(_ notification: Notification) {
    UIView.animate(withDuration: animationTime) {
        self.addViewBottomConstraint.constant = 0
        self.view.layoutIfNeeded()
    }
}

override func viewDidLoad() {
    super.viewDidLoad()

    NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillShow(_:)), name: UIResponder.keyboardWillShowNotification, object: nil)

    NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillHide(_:)), name: UIResponder.keyboardWillHideNotification, object: nil)
}

Здесь «клавиатура покажет 2» не печатается, но печатается для других контроллеров представления с такими же уведомлениями.Есть ли что-то новое в iOS 12, что вызвало это?Иначе, есть ли конкретная причина, по которой он не вызывается?Спасибо за вашу помощь.

...