解決UITableView刷新時跳動上移

昨天在項目中發(fā)現(xiàn)一個問題,一個列表滾動到底部時,刷新列表,會向上彈一下,百思不得其解,經(jīng)過一番查詢,原因是刷新列表時,tableView會重新計算高度,得到用緩存行高的辦法如下:

- (CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath{


  NSString *key = [NSString stringWithFormat:@"%ld",indexPath.row];
  NSNumber *heigt = self.cellheightDic[key];
  if (heigt == nil) {
      heigt = @(100);
  }

    return heigt.floatValue;

}


- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{

  NSLog(@"heig = %ld",indexPath.row);

  NSString *key = [NSString stringWithFormat:@"%ld",indexPath.row];
  NSNumber *heigt = self.cellheightDic[key];
  if (heigt == nil) {
    heigt = @(self.cell.cellHeight);
    [self.cellheightDic setValue:heigt forKey:key];
    }
return heigt.floatValue;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容