UITableView 分隔符在错误的位置
Posted
技术标签:
【中文标题】UITableView 分隔符在错误的位置【英文标题】:UITableView separator at wrong position 【发布时间】:2011-02-11 16:23:12 【问题描述】:在选择时,我会更改 UITableViewCell 的高度(从笔尖加载)。 但是当我这样做时,分隔线的位置错误。
在屏幕截图中,第一行被选中,因此比其他行大。 从分隔符的位置来看,选定单元格之后的单元格将是大的单元格。第二个单元格“具有”第一个单元格应具有的大小。
要更改高度,我将选定的索引路径保存在 tableView:didSelectRowAtIndexPath:
中并在 tableView:heightForRowAtIndexPath:
中进行比较。如果索引路径相同,我会返回增加的高度。在一些 NSLog 的帮助下,我确保返回了正确的高度。
如果我调整错误单元格的大小,单元格的视图会重叠,这不会发生。
如果我单击第一个单元格的Line 3
,tableView:didSelectRowAtIndexPath:
会触发,并且 indexpath 是第一个单元格的路径。所以我猜高度是正确的,并且tableview在错误的位置绘制了分隔符。
有人知道我做错了什么吗? 有什么解决办法吗?还是我应该向苹果提交另一个错误?
编辑:如果我不重复使用我的单元格,它会按预期工作。
【问题讨论】:
【参考方案1】:原来我已经关闭了 UITableViewCell 的“Autoresize subviews”。
如果我打开该选项,它会按预期工作。
【讨论】:
【参考方案2】:我遇到了类似的问题。就我而言,我使用layoutSubviews
在我的单元格上进行自定义布局。分隔符位置错误,附件视图的布局也出来了。
就我而言,问题是未能调用[super layoutSubviews]
。
【讨论】:
这里也一样。哈哈以上是关于UITableView 分隔符在错误的位置的主要内容,如果未能解决你的问题,请参考以下文章