0

没有任何现有问题完全了解我的应用程序中正在发生的事情。

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

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

可能存在问题的一件事是内容视图包含 3rd 方 UILabel 子类的单个实例TTTAttributedLabel。我对这段代码了解不多,但是有一种方法,setText:afterInheritingLabelAttributesAndConfiguringWithBlock:它实现了块完成/回调并且可能会影响事情。但情况似乎并非如此,因为取消回调并没有明显改善。

4

2 回答 2

1

无论哪种方式,文档都没有肯定地说,但我不会假设这tableView:indentationLevelForRowAtIndexPath:适用于自定义子视图,就像TTTAttributedLabel你的情况一样。也就是说,我认为它只会影响单元格的标准子视图(textLabel,imageView等)。

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

于 2015-05-26T17:50:04.843 回答
0

我最终在 Storyboard 中重新实现了整个视图,并且在对 AutoLayout 进行了相当多的试验和错误之后,设法让整个事情正常工作而没有任何错误。

于 2015-08-10T03:35:42.793 回答