UITextView 滚动表视图与换行符



我有一个表格视图,下面有文本视图。我向上滚动表格视图,文本视图的高度增加。问题是,当点击回车键并且光标转到新行时,表视图不会向上滚动,而是在此新行中键入字符时向上滚动。

如何修复,以便在按下回车键后立即向上滚动表视图?

指向的重复帖子是驴子的旧,解决方案不是快速的,所以这不能回答我的问题。

func textViewDidChange(_ textView: UITextView) {
let estimatedSize = textView.sizeThatFits(textView.frame.size)

if estimatedSize.height >= self.textViewMaxHeight {
textView.isScrollEnabled = true
textView.showsVerticalScrollIndicator = true
let bottomOffset = CGPoint(x: textView.contentOffset.x, y: textView.contentSize.height - textView.bounds.size.height)
textView.setContentOffset(bottomOffset, animated: false)
} else {
textView.isScrollEnabled = false
}

if self.dataSource.count > 0 {
if tableView.contentOffset.y < (tableView.contentSize.height - tableView.frame.size.height) {
self.tableView.scrollToBottom()
}
}
}

查看此答案以关闭带有返回键的键盘。 不要调用 textView.resignFirstResponder(( 方法,而是将滚动表视图实现到顶部逻辑。 通常它应该看起来像这样:

myTableView.setContentOffset(.zero, animated:true)

最新更新