此处是新手快速学习者和stackoverflow用户。我正在练习如何制作应用,并且正在使用UITextView观察到一种奇怪的行为,但似乎无法纠正...
此行为与UITextView有关,如果我按回车键以开始新行,则向上推文本;当我再次按回车键(第二次)时,文本将向下拉。请在下面找到图片:
UITextView after return key pressed for the first time
UITextView after return key pressed for the second time
这是我的整体View Controller:
UITextView放置在UIView内。 UIView的高度限制(self.heightConstraint.constant)为50,并且随UITextView.contentSize.height的大小而手动增加,并且UITextView的高度设置为30,但没有固定在UIView的顶部,底部,左侧,右侧的限制-我想让UIView的高度随着文本视图的改变而变长。
这是我的textViewDidChange代码:
func textViewDidChange(_ textView: UITextView) {
if self.heightConstraint.constant >= 50 {
// 23 is to account for gap at top and bottom between UIView and UITextView
self.heightConstraint.constant = self.messageTextfield.contentSize.height + 23
self.view.layoutIfNeeded()
}
// Scroll to bottom
let indexPath = IndexPath(row: self.messageArray.count - 1, section: 0)
self.chatTableView.scrollToRow(at: indexPath, at: .bottom, animated: false)
}
这是在Xcode 10.2.1上并在iOS版本12.3.1上开发的
我确实从上一个线程中碰到了这个问题,该线程似乎描述了我遇到的完全相同的问题,但是我不确定如何实现答案中提供的解决方案:Adjusting height of UITextView to its text does not work properly
请问有人可以帮我弄清楚我所缺少的吗?也欢迎任何建议以更好的方式实施此建议。如果我错过任何信息,请告诉我,我很乐意添加更多信息!