2012-05-18 78 views
0

所以我实现了具有各种不同高度的单元格。问题是,有时当单元格被加载时,它所具有的高度不正确,我不得不基本向下滚动,直到单元格不可见,然后再次向上滚动,以便重新布局并且具有正确的高度。我该如何解决?单元格回收时的UITableView单元格布局

+0

我没有这样做正是这一点,但通常当重复使用细胞不看的权利,那是因为一个属性没有被正确的cellForRowAtIndexPath设置:当对缓存单元的请求返回非零。 –

回答

1

首先给一些代码会有帮助。

1)如果你只有几个高度。如3个不同的单元格高度,则可以创建3个不同的单元格标识符,以便重用单元格的高度不正确。 2)如果你的单元格是动态的高度,那么确定你何时重用了一个正确设置其属性的单元格。例如,如果您使用单元格== nil设置height属性。您只是在创建新单元时进行设置。

if(cell == nil) 
{ 
    // Create new cell 
} 

// Set cell height. 

也有您尝试使用

– tableView:heightForRowAtIndexPath: 
+0

这是正确的,但是如果您在该方法中进行了大量计算,那么您的表将加载非常缓慢(它在查询显示数据之前查询所有行的高度) – borrrden