【发布时间】:2015-07-18 09:12:51
【问题描述】:
当前设置:
具有自动计算高度的 TableView:
self.tableView.sectionHeaderHeight = UITableViewAutomaticDimension;
self.tableView.rowHeight = UITableViewAutomaticDimension;
self.tableView.estimatedRowHeight = 152.0;
self.tableView.estimatedSectionHeaderHeight = 50.0;
每当获取的结果控制器更新其数据时,表格视图就会重新加载:
- (void)controllerDidChangeContent:(NSFetchedResultsController *)controller {
[self.tableView reloadData];
}
单元格是使用 Xib 配置的。第一个标签固定在单元格的顶部,后面的每个标签都固定在其上方标签的顶部,底部的标签固定在单元格的底部。
问题:
每次我在表格视图中的项目上设置“收藏夹”属性时,都会触发获取的结果控制器以重新加载表格并更改滚动位置。我正在尝试修复的正是滚动位置的这种变化。
其他信息
如果我使用固定的单元格高度,它可以解决问题,但我需要 UITableViewAutomaticDimension,因为第一个标签可以跨越两行,其余标签可能存在也可能不存在。
示例
注意 - 当我选择 Fav 按钮时,它会在 Core data 中设置 fav 属性并重新加载表格。为什么桌子会跳来跳去?
【问题讨论】:
标签: ios objective-c uitableview autolayout