iOS11之后系统会默认当前Cell以上的所有Cell高度都为44,从而计算当前scrollView所在的位置。所以需要另外添加以下代码
- (CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath {
return 130;
}
或
self.tableView.estimatedRowHeight= 0;
self.tableView.estimatedSectionHeaderHeight= 0;
self.tableView.estimatedSectionFooterHeight= 0;
即告诉系统所有Cell的固定高度,这样在获取 contentOffset 时就变准确了。