keyboardWillChangeFrame无法正常工作

时间:2018-07-06 00:08:56

标签: ios swift uikit

我希望上下拖动键盘时,每个点都会调用keyboardWillChangeFrame。我正在使用keyboardDismissMode = .interactive。

相反,仅在完全打开或关闭键盘时才调用keyboardWillChangeFrame。

是否有其他方法可以获得我想要的效果?

2 个答案:

答案 0 :(得分:0)

使用此仓库添加交互式平移非常容易:
https://github.com/totocaster/Typist

答案 1 :(得分:0)

我正在使用此代码来获取每次更改结束时键盘的准确帧,因此,如果将键盘更改为英语或表情符号,则每次都会给出正确的帧。

   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)