【问题标题】:Adjusting Scrollview to Adapt to Length of Text调整滚动视图以适应文本长度
【发布时间】:2013-02-03 16:56:33
【问题描述】:

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

谁能建议我如何根据文本的长度动态更改滚动视图的长度?

欢迎所有想法。

谢谢!

【问题讨论】:

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


    【解决方案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];
    

    【讨论】:

    • 这背后的想法是根据文本增加textview的大小,并将该大小赋予scrollview的contentSize。
    【解决方案2】:

    尝试类似:

    float yourDynamicHeight = 0;
    for(UILabel *lbl in yourArrayOfLabels) {
        yourDynamicHeight += lbl.frame.size.height;
    }
    // Perhaps add some arbitrary extra height
    
    [yourScrollView setContentSize:CGSizeMake(yourWidth,yourDynamicHeight];
    

    注意:在旅途中写这个,所以没有编译测试它。)

    希望对你有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-02
      • 2012-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多