删除UITableViewCell会导致其他自调整大小的单元格变大



我使用的是自调整尺寸的UITableViewCell s,它们总是缩小到最小尺寸。这太棒了。

然而,当我删除一个单元格时,这会导致其他单元格的大小增加,直到它们下一次出列或重新加载。

我正在使用正确的UITableView方法删除数据源和单元格。。。

[self.tableView beginUpdates];
[self.dataSource deleteObjectsAtIndices:[self indexSetFromIndexPaths:@[indexPath]]];
[self.tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationLeft];
NSArray *previousDataSourceState = [self.dataSource.objects copy];
[self.dataSource reconstructObjects];
NSArray *indexPathsToBeAdded = [self indexPathsOfObjectsFromDatasource:self.dataSource.objects notPresentInDataSource:previousDataSourceState];
[self.tableView insertRowsAtIndexPaths:indexPathsToBeAdded withRowAnimation:UITableViewRowAnimationNone];
[self.tableView endUpdates];

我有什么东西不见了吗?

这可能是一个有限制的优先问题吗?例如内容压缩阻力和内容拥抱?

正如所怀疑的那样,这是一个优先级相互冲突的问题。

为了解决这个问题,在你希望保持较小的视图上,拥抱内容的优先级应该更高。对我来说,UIView就是这样,它出乎意料地增长。

最新更新