我正在动态调整 aUITextView
的高度以及UITableViewCell
它在其内容更改时嵌入的高度。但我也有能力粘贴预定义的文本位。
由于此粘贴是以编程方式发生的,因此问题是,在将选定的文本位添加到UITextView
的文本并调用 myUITableView
更新其单元格高度之后,UITextView
尚未更新其 contentSize,我使用它来计算单元格的高度。
在我以编程方式向它添加文本之后,有没有办法强制UITextView更新它的contentSize ?
我正在动态调整 aUITextView
的高度以及UITableViewCell
它在其内容更改时嵌入的高度。但我也有能力粘贴预定义的文本位。
由于此粘贴是以编程方式发生的,因此问题是,在将选定的文本位添加到UITextView
的文本并调用 myUITableView
更新其单元格高度之后,UITextView
尚未更新其 contentSize,我使用它来计算单元格的高度。
在我以编程方式向它添加文本之后,有没有办法强制UITextView更新它的contentSize ?
您可以使用sizeThatFits:
来获得正确的尺寸。
CGFloat height = ceilf([textView sizeThatFits:textView.frame.size].height);
这是一个流行的开源组件,它利用它来实现基于 textview 内容的动态调整大小: https ://github.com/HansPinckaers/GrowingTextView
Swift 版本的答案:
var newTextViewHeight = ceil(textView.sizeThatFits(textView.frame.size).height)
textView.frame.size.height = newTextViewHeight
如果您想更新UITextView
textView.superview?.frame.size.height = textView.contentSize.height + 10