Ios Swift 4显示/隐藏键盘浏览视图

Ios Swift 4显示/隐藏键盘浏览视图,ios,swift,nsnotificationcenter,uikeyboard,Ios,Swift,Nsnotificationcenter,Uikeyboard,我试图在我的键盘上实现一个显示/隐藏,但问题是当我显示我的键盘时,它会越过我的视图,更重要的是它会越过我的文本字段和按钮,所以我可以输入,我就是不能按下按钮 以下是键盘前的屏幕截图: 此时将显示键盘: 正如您所看到的,我看不到文本字段和按钮 这是我的viewDidLoad NotificationCenter.default.addObserver(self, selector: #selector(CommentsController.keyboardWillShow), name: NS

我试图在我的键盘上实现一个显示/隐藏,但问题是当我显示我的键盘时,它会越过我的视图,更重要的是它会越过我的文本字段和按钮,所以我可以输入,我就是不能按下按钮

以下是键盘前的屏幕截图:

此时将显示键盘:

正如您所看到的,我看不到文本字段和按钮

这是我的
viewDidLoad

NotificationCenter.default.addObserver(self, selector: #selector(CommentsController.keyboardWillShow), name: NSNotification.Name.UIKeyboardWillShow, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(CommentsController.keyboardWillHide), name: NSNotification.Name.UIKeyboardWillHide, object: nil)
以下是方法:

@objc func keyboardWillShow(notification: NSNotification) {
    if let keyboardSize = (notification.userInfo?[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.cgRectValue {
          if self.view.frame.origin.y == 0{
              self.view.frame.origin.y -= keyboardSize.height
          }
     }
 }

@objc func keyboardWillHide(notification: NSNotification) {
     if let keyboardSize = (notification.userInfo?[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.cgRectValue {
          if self.view.frame.origin.y != 0{
              self.view.frame.origin.y += keyboardSize.height
          }
     }
 }

为什么我的键盘在我的视图上?如何修复它?

您需要将
UIKeyboardFrameBeginUserInfoKey
替换为
UIKeyboardFrameEndUserInfoKey

您需要将
UIKeyboardFrameBeginUserInfoKey
替换为
UIKeyboardFrameEndUserInfoKey