调整UITextView的大小以适应其内容的高度可以这样实现:
CGRect frame = _textView.frame;
frame.size.height = _textView.contentSize.height;
_textView.frame = frame;
是否存在类似于适合宽度的内容,而不包含内容文本?
答案 0 :(得分:17)
1) 您可以使用 NSString UIKit Additions计算文字占用的尺寸(并调整您的尺寸相应的UITextView)。您可能会看到一个示例here。
例如,如果您需要知道NSString
如果在单行上呈现的CGSize,请使用CGSize sz = [_textView.text sizeWithFont:_textView.font]
,然后根据此大小值调整您的帧。
如果您需要知道文本在多行上渲染时所采用的大小,如果文本达到给定宽度,请将其包裹起来,使用sizeWithFont:constrainedToSize:lineBreakMode:
代替等等。
2) 您可能还对 UIView的sizeThatFits:
和sizeToFit
方法感兴趣。
第一个返回CGSize(适合传入参数的给定CGSize),以便您的UITextView可以显示所有文本。第二个实际上是调整大小,为你调整帧。