UITextView contentSize.height比必要的大吗?

时间:2011-07-27 19:01:54

标签: ios uiscrollview uitextview contentsize

即使所有文本都在其框架内,

UITextView也会滚动。它滚动就好像文本底部有两个新行,但没有。因此,它的contentSize.height似乎比文本大几行。我怎么摆脱这个?即,我如何收紧内容?

2 个答案:

答案 0 :(得分:0)

您可以为该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在所有方向都有一个8px的填充,所以如果你的UITextView框架的宽度为200,那么你的文本宽度应该是184px。

答案 1 :(得分:0)

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

self.textView.contentInset = UIEdgeInsetsZero;

这对我有用。