调整Scrollview以适应文本长度

时间:2013-02-03 16:56:34

标签: iphone objective-c ipad uiscrollview core-text

我有一个滚动详细信息视图,其中我使用Core Text(iPhone和iPad)从数据库中显示一些文本。目前,我的滚动视图是默认设置长度。但是,由于某些文本条目比其他文本条目更长,这意味着我在文本下面有一些空白区域用于某些细节视图。

有人可以建议我如何根据文本的长度动态更改滚动视图的长度吗?

欢迎所有想法。

谢谢!

2 个答案:

答案 0 :(得分:1)

试试这个......

NSString *text = @"your text from db";

CGSize constraint = CGSizeMake(textview.frame.size.width, 20000.0f);

CGSize size = [text sizeWithFont:[UIFont systemFontOfSize:FONT_SIZE] constrainedToSize:constraint lineBreakMode:UILineBreakModeWordWrap];

textview.frame = CGRectMake(0, 0, size.width, size.height);

[yourScrollView setContentSize:CGSizeMake(textview.frame.size.width,textview.frame.size.height];

答案 1 :(得分:0)

尝试类似:

float yourDynamicHeight = 0;
for(UILabel *lbl in yourArrayOfLabels) {
    yourDynamicHeight += lbl.frame.size.height;
}
// Perhaps add some arbitrary extra height

[yourScrollView setContentSize:CGSizeMake(yourWidth,yourDynamicHeight];

注意:在运行中写这个没有编译测试它。)

希望它有所帮助!