处理输入框 UITextView 高度跟随输入内容动态变化问题。
func textViewDidChange(_ textView: UITextView) {
var height: CGFloat = 90
if textView.contentSize.height < 90 {
if textView.contentSize.height > 30 {
height = textView.contentSize.height
} else {
height = 30
}
}
if self.inputTextViewHeightConstraint.constant != height {
self.inputTextViewHeightConstraint.constant = height
textView.scrollRangeToVisible(NSRange(location: 0, length: 0))
}
}
注意:
- 根据UITextView字体大小设置textContainerInset。防止最小高度比当行内容高时,内容出现偏移问题
- 去掉边距 textView.textContainer.lineFragmentPadding = 0.0