【问题标题】:Deleting a UITableViewCell causes other self sizing cells to get bigger in size删除 UITableViewCell 会导致其他自调整大小的单元格变大
【发布时间】:2016-08-10 08:19:50
【问题描述】:

我正在使用自定尺寸UITableViewCells,它们总是缩小到可以达到的最小尺寸。这很棒。

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

我正在使用正确的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];

我有什么遗漏吗?

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

【问题讨论】:

  • 有没有用??

标签: ios objective-c uitableview autolayout nslayoutconstraint


【解决方案1】:

怀疑这是一个相互冲突的优先级问题。

要解决此问题,内容拥抱优先级应高于您希望缩小的视图。对我来说,UIView 意外增长就是这种情况。

【讨论】:

    猜你喜欢
    • 2012-05-20
    • 1970-01-01
    • 1970-01-01
    • 2013-07-15
    • 2015-07-17
    • 1970-01-01
    • 2015-09-16
    • 1970-01-01
    • 2015-03-20
    相关资源
    最近更新 更多