我在tableview中显示Feed项。根据项目,单元格必须更大或更小 - 例如更大以容纳照片或更大仍然如果它引用另一个Feed项目(如文章),我必须显示引用的项目。
在大多数情况下,我使用自动布局来根据内容让单元格自动展开或收缩。但是,在几种情况下,这几乎是不可能的,因此我重置了代码中约束的值。例如,如果在一种情况下没有照片,我会缩小代码中单元格的高度,因为单元格本身并没有缩小。
页面加载时这很好用。但是当您滚动并重复使用单元格时,会导致奇怪的效果,例如单元格垂直扩展或线条相互挤压。
关于SO的一些问题建议使用该方法:
-(void) tableView:(UITableView *)tableView didEndDisplayingCell:(IDFeedCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
//Undo changes here
}
问题是我不知道如何撤消更改。例如,如果我通过设置
来缩小单元格self.height.constant = 100;
我应该将它设置回故事板中的常量值吗?
当我不知道下一个要重复使用单元格的项目时,我可以将其设置为什么值。
感谢您的任何建议。顺便说一句,autolayout显示没有问题。