我有一个textView,我用它作为chatMessages的输入字段。如果文本中的文本多于一行,我希望它能够扩展。
func textViewDidChange(_ textView: UITextView) {
self.textViewHeight.constant = textView.contentSize.height
}
如果用户在textView中输入内容,我会以编程方式设置高度约束。
我在这里做错了什么?我尝试重新创建whatsapp / imessage的外观,这种隐藏不会发生。
答案 0 :(得分:2)
这是因为您正在更改错误的委托功能中的大小。完成编辑后调用委托textViewDidChange
(调用resignFirstResponder)。
您应该使用代码来改变此函数的高度:
optional func textView(_ textView: UITextView,
shouldChangeTextIn range: NSRange,
replacementText text: String) -> Bool
因此,在您输入完成后,这将改变UITextView
的高度。