處理輸入框 UITextView 高度跟隨輸入內(nèi)容動態(tài)變化問題杨耙。
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))
}
}
注意:
- 根據(jù)UITextView字體大小設(shè)置textContainerInset。防止最小高度比當(dāng)行內(nèi)容高時,內(nèi)容出現(xiàn)偏移問題
- 去掉邊距 textView.textContainer.lineFragmentPadding = 0.0