【问题标题】:How to adjust UITextView's width to fit its content without wrapping?如何在不换行的情况下调整 UITextView 的宽度以适应其内容?
【发布时间】:2011-11-21 23:53:45
【问题描述】:

调整 UITextView 的大小以适应其内容的高度可以这样实现:

CGRect frame = _textView.frame;
frame.size.height = _textView.contentSize.height;
_textView.frame = frame;

有没有类似适合宽度的东西,不换行内容文字?

【问题讨论】:

标签: objective-c ios uitextview


【解决方案1】:

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 可以显示所有文本。第二个实际上是调整大小,为您调整框架。

【讨论】:

  • +1 用于建议不止一种方法并清楚地解释。我尝试了第一种方法,它有效。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-23
  • 2010-09-13
  • 1970-01-01
  • 2011-06-30
相关资源
最近更新 更多