UITableViewCell缩进funkiness

时间:2015-05-26 05:34:08

标签: ios uitableview tttattributedlabel

没有现成的问题可以解决我的应用中发生的事情。

我的UITableViewCell子类中的缩进级别偶尔会在1或0处。单元格中的文本将缩进或拥抱左边距(看似随机),因为单元格是排队和排队的。我在cellForRow:中设置了级别,我在子类的configure:方法中设置了级别,我实现了indentationLevelForRow:。这些都没有明显的效果。

我可以重现的一件事是,当我触摸一个单元格时,缩进会崩溃(级别< -0)。另一种触摸不会切换它。我在这里写'触摸',因为即使willSelect:返回nil,也会发生这种情况。在这些触摸后滚动偶尔会将级别重置为1。

可能存在的一个问题是内容视图包含第三方UILabel子类TTTAttributedLabel的单个实例。我对这段代码知之甚少,但是有方法setText:afterInheritingLabelAttributesAndConfiguringWithBlock:实现了块完成/回调,可能会影响事物。但事实似乎并非如此,因为收回回调没有明显改善。

2 个答案:

答案 0 :(得分:1)

文档没有确切说明,但我不认为tableView:indentationLevelForRowAtIndexPath:适用于自定义子视图,例如TTTAttributedLabel。也就是说,我认为它只会影响单元格的标准子视图(textLabelimageView等)。

如果您需要自定义子视图的自定义缩进级别,我希望您自己需要实现。您当然可以继续实现该委托方法来集中逻辑,但在布置单元格时,您可能需要使用该方法的结果。

答案 1 :(得分:0)

我在故事板中重新实现了整个视图,经过AutoLayout的相当多的试验和错误后,设法让整个工作没有任何瑕疵。