UITextView不更新其contentSize
我dynamic地调整UITextView
的高度,以及UITableViewCell
在其内容改变时所embedded的高度。 但我也有能力粘贴预定义的文本位。
由于这个粘贴是以编程的方式发生的,问题是,在将所选文本位添加到UITextView
的文本并调用我的UITableView
来更新其单元高度后, UITextView
还没有更新其contentSize,我用它来计算单元高度。
有没有办法强制UITextView更新其contentSize ,我编程添加文本后?
你可以使用sizeThatFits:
来获得正确的大小。
CGFloat height = ceilf([textView sizeThatFits:textView.frame.size].height);
这里是一个stream行的开源组件,利用它来实现基于textview内容的dynamicresize: 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