【问题标题】:Automatic tableView cell size in iPhone?iPhone中的自动tableView单元格大小?
【发布时间】:2010-12-31 04:43:09
【问题描述】:

我想制作一个UITableView,它会根据其内容自动调整其单元格大小。

内容来自 XML 文件,数据只是文本。

我想将文本放在cell 中,它应该自动执行word-wrap 并支持多行。

所以每个单元格可以有不同的高度。这可能吗??或任何想法?

谢谢;)

【问题讨论】:

    标签: iphone tableview


    【解决方案1】:

    是的,这是可能的。使用下面的方法来做,

    - (CGFloat)tableView:(UITableView *) tableView heightForRowAtIndexPath: (NSIndexPath *)indexPath    {
    CGSize cellHeight;
    if (indexPath.row == 0) {
        cellHeight = [yourXMLContents sizeWithFont:[UIFont systemFontOfSize:13.0f] constrainedToSize:CGSizeMake(300.0, 1000.0) lineBreakMode:UILineBreakModeWordWrap];
        return cellHeight.height + 20;
    }  else 
        return  30;
    

    }

    【讨论】:

    • 我试过了,但由于某种原因,heightForRowAtIndexPath 方法的返回值超过 50,但 cellForRowAtIndexPath 方法中的单元格大小始终为 46。这是为什么?先调用heightForRowAtIndexPath,再调用cellForRowAtIndexPath。
    【解决方案2】:

    你看过three20 library吗?它会调整单元格的大小以适应内容。至少,您可以查看代码是如何实现调整单元格大小的。

    【讨论】:

    • 谢谢我从未听说过three20。但现在我至少可以看看它是如何工作的。顺便说一句,你是韩国人吗?
    • 很高兴在 StackOverflow 中看到韩语 ;)
    猜你喜欢
    • 1970-01-01
    • 2018-01-15
    • 2017-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多