讓 UITextView 的高度等於文字內容的高度
Published in
Nov 30, 2018
text view 由於會上下捲動,因此正常情況下,它的高度無法像 label 一樣自動長成剛好容納內容的高度。
比方如下圖所示,text view 設了上面,左邊,右邊的間距,此時由於 text view 可以捲動,因此它無法決定它要長多高。
錯誤訊息顯示 Need constraint for: height。
有方法讓 text view 不正常,學 label 一樣自動長高嗎 ? 當然有 ! 只要將 text view 的 Scrolling Enabled 取消,讓它像 label 一樣不會捲動即可。
iOS App 常見的聊天訊息,也滿適合搭配 text view,不管是單行的"我要去洗澡了",或是多行的告白情話,都可以呈現。如果想要更好的效果,還可以透過 text view 的 textContainerInset 調整文字上下左右的間距。
textView.textContainerInset = .init(top: 10, left: 10, bottom: 10, right: 10)