клавиатураWillChangeFrame не работает должным образом - PullRequest
0 голосов
/ 06 июля 2018

Я ожидал, что клавиатураWillChangeFrame будет вызываться для каждой точки при перетаскивании клавиатуры вверх или вниз. Я использую keyboardDismissMode = .interactive.

Вместо этого keyboardWillChangeFrame вызывается только тогда, когда клавиатура только полностью открыта или закрыта.

Есть ли другой способ получить желаемый эффект?

Ответы [ 2 ]

0 голосов
/ 06 июля 2018

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

   func keyboardWillChangeFrame(notification: NSNotification) {
            if let keyboardFrame = (notification.userInfo?[UIKeyboardFrameEndUserInfoKey] as? NSValue)?.cgRectValue {
                let keyboardHeight = keyboardFrame.size.height
                print("keyboard height: \(keyboardHeight)")
                self.bottomConstrainttypeTextView.constant = -keyboardHeight
                self.view.layoutIfNeeded()

            }
        }

это как вы можете использовать это просто добавить наблюдателя для уведомления для триггера смены клавиатуры

NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardWillChangeFrame(notification:)), name: NSNotification.Name.UIKeyboardWillChangeFrame, object: nil)
0 голосов
/ 06 июля 2018

Довольно просто добавить интерактивное панорамирование с помощью этого репо:
https://github.com/totocaster/Typist

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