问题就是:点击点赞按钮后刷新列表,tableView来回跳动。而且打印tableView 的contentOffset是变化的。
具体原因的是因为在iOS 11Self-Sizing自动打开后,刷新列表后contentSize和contentOffset都可能发生改变导致列表来回跳动。
可以通过以下方式禁用:
self.estimatedRowHeight = 0;
self.estimatedSectionHeaderHeight = 0;
self.estimatedSectionFooterHeight = 0;
在iOS 10 以下 通过以下协议方法设置精准高度就可以了
- (CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath NS_AVAILABLE_IOS(7_0);
- (CGFloat)tableView:(UITableView *)tableView estimatedHeightForHeaderInSection:(NSInteger)section NS_AVAILABLE_IOS(7_0);
- (CGFloat)tableView:(UITableView *)tableView estimatedHeightForFooterInSection:(NSInteger)section NS_AVAILABLE_IOS(7_0);
网友评论