调整具有最大高度的UITextView的大小

时间:2009-08-12 08:38:22

标签: iphone uitextview max

我正在显示sqlite3数据库中的一些文本,并希望UITextView根据文本量自动调整大小。我可以这样做,如下:

TextLabel.scrollEnabled = YES;
TextLabel.userInteractionEnabled = YES;

[TextLabel setFrame:CGRectMake(55.10, 26.15, TextLabel.contentSize.width, 
                                             TextLabel.contentSize.height)];

这很好用。当我试图设置最大高度时,我正在努力。

因此UITextView将调整大小,除非它达到最大高度,在这种情况下,用户必须使用滚动条查看剩余的文本。

任何帮助都将受到高度赞赏

1 个答案:

答案 0 :(得分:1)

这是一种发现某些多行文字所需高度的方法:

int myWidth = 300;
int maxHeight = 9999;
NSString *myString = @"lorem ipsum dolor yadda";
UIFont *myFont = [UIFont fontWithName:@"Helvetica" size:14];
CGSize myStringSize = [myString sizeWithFont:myFont 
                           constrainedToSize:CGSizeMake(myWidth, maxHeight)
                               lineBreakMode:textLabel.lineBreakMode];

textLabel.frame = CGRectMake(10, 10, myWidth, myStringSize.height);

我从nevan对前一个问题的回答中得到了这个:

参考:Apple's docs on NSString UIKit additions