我在 iOS 6.1 中有一个带有基本 (UITableViewCellStyleDefault) UITableViewCells 的普通 (UITableViewStylePlain) UITableView。当它进入编辑模式时,它的单元格按我想要的方式缩进。但只有在所有单元格标签都很短的情况下:如果一个单元格的标签足够长,可以在右侧剪裁,则表格单元格将不再缩进。
例如:
- 一个单元格的表格:(SHORT)=>缩进,即有效
- 有两个单元格的表格:(LONG) (SHORT) => 两个单元格都没有缩进,即不起作用
有哪些简单的步骤可以解决这种情况?例如,似乎我无法更改基本的预设大小属性,即 Xcode 中的非自定义表格视图单元格。
更新:这里有两张图片进一步描述了这个问题(第一个:正确的情况,第二个:不正确的情况):
更新:事实证明,根本原因不是标签的长度。相反,它似乎与我的异步有关。与此表视图相关的 KVO 处理。我tableView:cellForRowAtIndexPath:
在单元格的底层托管(核心数据)对象上调用了一个 getter。似乎托管对象的默认 getter 依次调用它们自己的 setter,可能是在实现错误对象时。由于我的 KVO 的设置方式,这会导致另一个调用tableView:cellForRowAtIndexPath:
. 碰巧的是,只有第二种情况涉及 KVO 通知,随后的递归调用可能会导致问题(无论如何这似乎有点奇怪)......