dre*_*ewh 9 iphone cocoa-touch uitableview
我有一个UITableView单元格,根据其内容(可能是几行文本)将具有可变大小.
看来我在布局单元格之前调用了heightForRowAtIndexPath ,我只是通过在我的文本字符串上调用[NSString sizeWithFont]来猜测正确的高度.在我在单元格中放置文本后,是否有更好的方法来设置高度,并且知道它应该具有什么尺寸?
这听起来很愚蠢,但是......呃......"在退出heightForRowAtIndexPath之前布局你的单元格";)
但是说真的 - 操作系统只会在需要时调用它(例如:它即将创建单元并在屏幕上显示它),因此将其放置并准备好显示并不是浪费精力.
请注意,你不会有单独做你的布局,逻辑明智的.只需在heightForRowAtIndexPath例程中调用[self prepLayoutForCellAtIndex:index]即可.
如果数据是静态的,您可以创建高度表并缓存信息.
if (0 == heightTable[index]) {
heightTable[index] = [self prepLayoutForCellAtIndex:index];
}
return (heightTable[index]);
Run Code Online (Sandbox Code Playgroud)
哎呀,即使数据发生变化,您也可以在更改数据的方法中重新计算表值,或者清除为0,以便在下次需要时重新计算.
归档时间: |
|
查看次数: |
5403 次 |
最近记录: |