【发布时间】:2011-02-11 16:23:12
【问题描述】:
在选择时,我会更改 UITableViewCell 的高度(从笔尖加载)。
但是当我这样做时,分隔线的位置错误。
在屏幕截图中,第一行被选中,因此比其他行大。
从分隔符的位置来看,选定单元格之后的单元格将是大的单元格。第二个单元格“具有”第一个单元格应具有的大小。
要更改高度,我将选定的索引路径保存在 tableView:didSelectRowAtIndexPath: 中并在 tableView:heightForRowAtIndexPath: 中进行比较。如果索引路径相同,我会返回增加的高度。在一些 NSLog 的帮助下,我确保返回了正确的高度。
如果我调整错误单元格的大小,单元格的视图会重叠,这不会发生。
如果我单击第一个单元格的Line 3,tableView:didSelectRowAtIndexPath: 会触发,并且 indexpath 是第一个单元格的路径。所以我猜高度是正确的,并且tableview在错误的位置绘制了分隔符。
有人知道我做错了什么吗?
有什么解决办法吗?还是我应该向苹果提交另一个错误?
编辑:如果我不重复使用我的单元格,它会按预期工作。
【问题讨论】:
标签: iphone cocoa-touch uitableview