iPhone中的自动tableView单元格大小?

Posted

技术标签:

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

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

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

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

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

谢谢;)

【问题讨论】:

【参考方案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。但现在我至少可以看看它是如何工作的。顺便说一句,你是韩国人吗? 很高兴在 *** 中看到韩语 ;)

以上是关于iPhone中的自动tableView单元格大小?的主要内容,如果未能解决你的问题,请参考以下文章

UIImageView 适合自调整大小的 tableview 单元格中的最大宽度

两个标签在tableView单元格中垂直对齐自动调整大小

我可以在 iphone 的 tableview 中的两个单元格之间留出空间吗?

为不同的 iPhone 设备自动调整 CollectionView 单元的大小

tableview 单元格我们如何快速调整单元格的大小以及图像和标签

calayer 没有根据 tableview 单元格中的 UIView 大小而改变