heightForRowAtIndexPath在模拟器和设备

时间:2015-07-31 08:35:40

标签: ios objective-c

heightForRowAtIndexPath在模拟器中工作但不在Iphone设备中工作

-(CGFloat)tableView: (UITableView*)tableView heightForRowAtIndexPath: (NSIndexPath*) indexPath
{
    return Y_Pos;
}

Y_Pos是CGFloat类型变量&我用cellForRowAtIndexPath方法计算高度并存储在Y_Pos

该表应该计算单元格的高度,并且它在我的模拟器中正确执行,但在真实设备中,它只计算应用程序加载的那些,并且永远不会再次重新计算。因此,我的帖子显示的身高不正确。可能是什么问题?

1 个答案:

答案 0 :(得分:0)

如果您没有使用estimatedCellHeight,则表格会在开头为您的所有单元格调用heightForRowAtIndexPath。除非您执行reloadDatareloadRowsAtIndexPaths...

,否则永远不会再打电话

如果您使用的是estimatedCellHeight,那么当您滚动并且单元格出现在屏幕上时,表格将仅针对可见单元格和每个新单元格调用heightForRowAtIndexPath

在任何情况下,都会为所有单元格缓存高度,直到您重新加载单元格或整个UITableView。

不确定这是你的问题,你的问题很难理解,希望有所帮助。