4

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

4

2 回答 2

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 的文本宽度。

于 2013-02-21T00:44:26.103 回答
0

为时已晚,但对于其他人,请尝试:

self.textView.contentInset = UIEdgeInsetsZero;

这对我有用。

于 2015-07-17T20:33:42.833 回答