选中文本字段时,视图消失,向上滑动,轻触键盘时消失

时间:2018-02-02 16:56:02

标签: ios swift uikit

我正在尝试复制whatsapp,imessage等键盘,其上方的发送按钮/文本字段位于其顶部 我有一个TableView和一个包含文本字段和发送按钮的容器视图。

每当我点击文本字段时,容器视图就会上升并“坐”在键盘上,但是一旦我开始输入容器视图就会消失并转到最初的底部。为什么会发生这种情况?

O(n log n)

1 个答案:

答案 0 :(得分:0)

您的代码中的问题是您在键盘显示/隐藏中增加容器视图的y位置,因此更改为此

 @objc  func handleKeyboardDidShow (notification: NSNotification)
 {
    let keyboardRectAsObject = notification.userInfo![UIKeyboardFrameEndUserInfoKey] as! NSValue

    var keyboardRect = CGRect.zero

    keyboardRectAsObject.getValue(&keyboardRect)

    self.containerViewBotcon.constant = -1 * keyboardRect.height 

    UIView.animate(withDuration: 0.5,animations: {

       self.view.layoutIfNeeded()

    })

} 

@objc func handleKeyboardWillHide(notification: NSNotification)
{

    self.containerViewBotcon.constant = 0

    UIView.animate(withDuration: 0.5,animations: {

       self.view.layoutIfNeeded()

    })

}