我正在尝试复制whatsapp,imessage等键盘,其上方的发送按钮/文本字段位于其顶部 我有一个TableView和一个包含文本字段和发送按钮的容器视图。
每当我点击文本字段时,容器视图就会上升并“坐”在键盘上,但是一旦我开始输入容器视图就会消失并转到最初的底部。为什么会发生这种情况?
O(n log n)
答案 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()
})
}