как получить высоту клавиатуры с подсказкой в ​​Swift - PullRequest
1 голос
/ 26 марта 2020

В приложении, которое я создаю, у меня есть текстовое поле с кнопкой в ​​нижней части экрана, и я хочу анимировать их при появлении клавиатуры.

Для этого я использую это:

override func viewDidLoad() {
        super.viewDidLoad()

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

@objc func keyboardWillShow(notification: Notification) {

        let keyboardSize = (notification.userInfo?  [UIResponder.keyboardFrameEndUserInfoKey] as? NSValue)?.cgRectValue

        let keyboardHeight = keyboardSize?.height

        if #available(iOS 12.0, *) {

            self.submitConstraint.constant = (keyboardHeight! - view.safeAreaInsets.bottom) + 10
        }
        else {
            self.submitConstraint.constant = view.safeAreaInsets.bottom + 10
        }

        UIView.animate(withDuration: 0.5){

            self.view.layoutIfNeeded()

        }


    }

@objc func keyboardWillHide(notification: Notification){

        self.submitConstraint.constant = 34 // or change according to your logic

        UIView.animate(withDuration: 0.5){

            self.view.layoutIfNeeded()

        }

    }

, но затем часть кнопки скрывается под панелью инструментов предложений.

Я гуглил это и нашел ответ: Как получить высоту клавиатуры, включая панель предложений, в swift . Я попробовал ответы, и у меня не получилось, часть кнопки все еще скрыта под панелью предложений.

Может ли кто-нибудь мне помочь?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...