问题描述
我有一个视图控制器,其中 表格视图和表格下方的textView
I have a view controller in which it has table view and textView below the table
当我点击textView时,出现键盘,而当我点击textView之外时,键盘消失效果很好,但是我有一个问题,当我拖动(向下滚动)表格视图时,textView不会随着键盘向下移动,并且在键盘后面看到黑色背景,如下图所示
When I tap on the textView the keyboard appears and when I tap outside the textView the keyboard disapparThat works fine but I have one problem which is when I Drag(scroll Down) the table view the textView doesn't move down with the keyboard and I see black background behind the keyboard as in the below image
如何在Swift中解决此问题
How to solve this problem in Swift
更新:这是我当前的代码,其中观察到keyboardFrameChanges
Update:This is my current code that observe the keyboardFrameChanges
func keyboardFrameChanged(notification: NSNotification) {
let dict = NSDictionary(dictionary: notification.userInfo!)
let keyboardValue = dict.objectForKey(UIKeyboardFrameEndUserInfoKey) as! NSValue
let bottomDistance = mainScreenSize().height - keyboardValue.CGRectValue().origin.y
let duration = Double(dict.objectForKey(UIKeyboardAnimationDurationUserInfoKey) as! NSNumber)
UIView.animateWithDuration(duration, animations: {
self.inputViewConstraint!.constant = -bottomDistance
self.view.layoutIfNeeded()
}, completion: {
(value: Bool) in
self.chatTableView.scrollToBottom(animation: true)
})
}
更新2:我通过将keyboardDismissMode从 Interactive 更改为 OnDrag
Update 2:I found a solution by changing the keyboardDismissMode from Interactive to OnDrag
chatTableView.keyboardDismissMode = UIScrollViewKeyboardDismissMode.OnDrag
一旦观察到表格中的任何拖动移动,这将立即将键盘和textView向下移动,但是如何在 Interactive 模式下(如在whatsapp聊天视图中)进行操作
This will move the keyboard and the textView immediatly to down once it observe any drag movement in the table , But how to do it in the Interactive mode like in the whatsapp chat view
推荐答案
我找到了一个解决方案,方法是将keyboardDismissMode从Interactive更改为OnDrag
I found a solution by changing the keyboardDismissMode from Interactive to OnDrag
chatTableView.keyboardDismissMode = UIScrollViewKeyboardDismissMode.OnDrag
一旦观察到表格中的任何拖动运动,它将立即将键盘和textView向下移动
This will move the keyboard and the textView immediatly to down once it observe any drag movement in the table
这篇关于滚动表格时如何在键盘上方移动inputView的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!