iOS Swift3 TextView在错误的位置行
问题描述:
我有一个textView,我用它作为chatMessages的输入字段。如果文字多于一行,我希望它扩大。iOS Swift3 TextView在错误的位置行
func textViewDidChange(_ textView: UITextView) {
self.textViewHeight.constant = textView.contentSize.height
}
我以编程方式设置高度约束,如果用户在textView中输入内容。
我在这里做错了什么?我尝试重新创建whatsapp/imessage的外观,这种隐藏不会发生。
答
这是因为您正在更改错误委托函数的大小。编辑完成后调用代理textViewDidChange
(resignFirstResponder被调用)。
你应该把你的代码来改变高度在这个函数:
optional func textView(_ textView: UITextView,
shouldChangeTextIn range: NSRange,
replacementText text: String) -> Bool
因此,这将改变UITextView
的高度,你,你完成键入后键入没有。
这工作正常除了按回车,它仍然被隐藏。它看起来像一条线断裂不被识别。你知道解决这个问题的方法吗? –
您可以尝试放置一些边距,例如'self.textViewHeight.constant = textView.contentSize.height + 10' –