在返回heightForRowAtIndexPath时,我想知道单元格的内容。在此函数中,如何获取单元格对象?
- (CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
}
如果我尝试这样做
[tableView cellForRowAtIndexPath:indexPath]
它失败了,并在无限循环中爆炸。
有什么想法吗?
发布于 2011-04-13 01:46:07
调用self (委托)而不是tableView本身。
id cell = [self tableView:tableView cellForRowAtIndexPath:indexPath];
发布于 2012-02-08 04:34:02
在调用heightForRowAtIndexPath:
时,单元格尚未创建,因此无法“获取”单元格。取而代之的是,查看您的模型并以这种方式确定单元格的高度。
如果您担心长字符串,并且在单元格中需要更多的垂直空间,请考虑使用sizeWithFont:forWidth:lineBreakMode:
。文档地址:https://developer.apple.com/library/ios/#documentation/uikit/reference/NSString_UIKit_Additions/Reference/Reference.html
发布于 2011-04-13 01:45:16
我认为你不能或者你不应该。您需要从indexPath确定将在相应单元格中显示哪些数据,从而计算单元格所需的高度。
因此,您需要编写一些代码来从indexPath获取数据模型中的正确数据。
https://stackoverflow.com/questions/5639366
复制相似问题