Gre*_*reg 11 iphone uitableview ios heightforrowatindexpath
我以为我已经读到了UITableView那个heightForRowAtIndexPath不会被调用的所有行,但只对那些将是可见的.然而,这不是我所看到的.我正在看到数以百计的调用heightForRowAtIndexPath,例如iPhone的方向改变的简单情况.
所以我在此假设,因此,对于UITableView与heightForRowAtIndexPath实施,它(即heightForRowAtIndexPath)被调用的所有行(不只是那些可见的)...让我知道这是不太正确的.
问题:鉴于上述情况,在性能问题发生之前,您可以拥有多少行UITableView(在哪里heightForRowAtIndexPath实现)?
有没有解决性能问题的方法?即设置每行的标称/标准高度而不实现heightForRowAtIndexPath,但是只有在显示时才正确设置每一行高度并在此处正确设置...但是哪种方法可以做到这一点?
请查看文档中的讨论部分tableView:heightForRowAtIndexPath:
该方法允许委托指定具有不同高度的行.如果实现此方法,则它返回的值将覆盖为给定行为UITableView的rowHeight属性指定的值.
使用tableView:heightForRowAtIndexPath:而不是rowHeight属性有性能影响.每次显示表视图时,它会在其每个行的委托上调用tableView:heightForRowAtIndexPath:这会导致具有大量行(大约1000或更多)的表视图出现严重的性能问题.
所以你应该使用rowHeightUITableView 的属性.如果你需要不同的高度,那你就不得不用了tableView:heightForRowAtIndexPath:.
AFAIK无法在显示时更改行高.
tableview必须知道之前的正确大小,否则会一直存在丑陋的位置变化.
| 归档时间: |
|
| 查看次数: |
9322 次 |
| 最近记录: |