【问题标题】:UITextView contentSize.height larger than necessary?UITextView contentSize.height 比必要的大吗?
【发布时间】:2011-07-27 19:01:53
【问题描述】:

UITextView 即使所有文本都适合其框架,也会滚动。它滚动,好像文本底部有两个新行,但没有。因此,它的contentSize.height 似乎比文本大几行。我该如何摆脱这个?即,如何收紧内容大小?

【问题讨论】:

  • 我也面临同样的问题。我注意到空间差异随着 UITextView 上文本长度的增加而变大。
  • UITextView 在所有方向都有固定的 8px 边距,这通常会导致使用此控件时出现许多大小异常。

标签: ios uiscrollview uitextview contentsize


【解决方案1】:

您可以为该 UITextView 设置 contentSize,使其紧贴文本。

您可以使用名为 sizeWithFont.. 的 NSString 方法。您可以在此处查看完整列表:http://developer.apple.com/library/ios/#documentation/uikit/reference/NSString_UIKit_Additions/Reference/Reference.html

我注意到一些问题,但我从来没有失败过:

- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size

我想你有一个固定的宽度,想找出正确的高度。考虑到固定的 200px 宽度,它会是这样的:

NSString *myText = @"Some text...";
CGSize tightContentSize = [mytext sizeWithFont:[UIFont fontWithName:@"Helvetica" size:12] constrainedToSize:CGSizeMake(200, 10000000)].height;

[myTextView setContentSize:tightContentSize];

考虑到您的 UITextView 在各个方向都有 8 像素的填充,因此如果您的 UITextView 框架的宽度为 200,那么您实际上将有 184 像素的文本宽度。

【讨论】:

    【解决方案2】:

    已经很晚了,但对于其他人,请尝试:

    self.textView.contentInset = UIEdgeInsetsZero;
    

    这对我有用。

    【讨论】:

      猜你喜欢
      • 2013-10-02
      • 1970-01-01
      • 2015-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-27
      • 1970-01-01
      相关资源
      最近更新 更多