UITextView contentSize.height 比必要的大吗?
Posted
技术标签:
【中文标题】UITextView contentSize.height 比必要的大吗?【英文标题】:UITextView contentSize.height larger than necessary? 【发布时间】:2011-07-27 19:01:53 【问题描述】:UITextView
即使所有文本都适合其框架,也会滚动。它滚动,好像文本底部有两个新行,但没有。因此,它的contentSize.height
似乎比文本大几行。我该如何摆脱这个?即,如何收紧内容大小?
【问题讨论】:
我也面临同样的问题。我注意到空间差异随着 UITextView 上文本长度的增加而变大。 UITextView 在所有方向都有固定的 8px 边距,这通常会导致使用此控件时出现许多大小异常。 【参考方案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;
这对我有用。
【讨论】:
以上是关于UITextView contentSize.height 比必要的大吗?的主要内容,如果未能解决你的问题,请参考以下文章
UITextView 背景图像不适合 UITextView 框架的框架大小
当 UITextView 的文本超出 1 行时展开 UITextView 和 UITableView
选择另一个 UITextView 时,如何阻止 UITextView 退出第一响应者/关闭键盘?
从 UIView 中的 UITextView 复制文本后,UITextView 更改为 UIWebDocumentView?