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 单元格中的最大宽度
我可以在 iphone 的 tableview 中的两个单元格之间留出空间吗?
为不同的 iPhone 设备自动调整 CollectionView 单元的大小