在键盘上查看响应显示和隐藏Ios Swift 4

在键盘上查看响应显示和隐藏Ios Swift 4,ios,swift,xcode,uikeyboard,Ios,Swift,Xcode,Uikeyboard,这是我的看法 当我在文本视图中单击时,键盘位于顶部。所以我添加了一个类,在这个类中,我添加了这些函数 var objectObserver:UIViewController? func setKeyboardResponsiviness(observer:UIViewController){ objectObserver = observer NotificationCenter.default.addObserver(self

这是我的看法

当我在文本视图中单击时,键盘位于顶部。所以我添加了一个类,在这个类中,我添加了这些函数

    var objectObserver:UIViewController?

    func setKeyboardResponsiviness(observer:UIViewController){
            objectObserver = observer
            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: NSNotification) {
            if let keyboardSize = (notification.userInfo?[UIResponder.keyboardFrameBeginUserInfoKey] as? NSValue)?.cgRectValue {
                if objectObserver!.view.frame.origin.y == 0 {
                    objectObserver!.view.frame.origin.y -= keyboardSize.height
                }
            }
        }

        @objc func keyboardWillHide(notification: NSNotification) {
            if objectObserver!.view.frame.origin.y != 0 {
                objectObserver!.view.frame.origin.y = 0
            }
        } 

添加代码后,整个屏幕向上滑动,这是预期的目标,但作为副作用,文本视图的一半不在屏幕上。你知道我该怎么解决这个问题吗

简单的解决方案是使用IQKeyboardManagerSwift

pod 'IQKeyboardManagerSwift' // add this in your pod file.
在didFinishLaunchingWithOptions中添加以下代码

IQKeyboardManager.shared.enable = true

我希望这会有所帮助。

您可以使用IQKeyboardManager pod Library轻松完成这项工作。有关更多详细信息,请参阅此堆栈答案。感谢将man post作为答案,以便我可以批准它