iOS 中indexPath.row错乱问题

       在一次项目中碰到了一个很奇怪的问题,界面是一个tableview,刚进入界面时 tableview的indexPath计算是从4开始算的,导致刷新后与刚进入界面的起始数据不一致,于是在网上查阅相关的资料后,发现有部分人有过类似的经历,但是都没有给出解决问题,不过我发现基本上都是因为做cell的动态高导致的,也就是这个方法:

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

return self.cellHeight;

}

将返回值改为固定值后是没有问题,但是返回的是动态数值则会出现上述问题:

所以将改变cell高度的代码改变了,通过以下方法解决:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;

在这个方法中通过tableView.rowHeight = self.cellHeight方法为cell设置高度,就会避免上述问题。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 概述在iOS开发中UITableView可以说是使用最广泛的控件,我们平时使用的软件中到处都可以看到它的影子,类似...
    liudhkk阅读 9,094评论 3 38
  • 我们在上一篇《通过代码自定义不等高cell》中学习了tableView的相关知识,本文将在上文的基础上,利用sto...
    啊世ka阅读 1,553评论 2 7
  • 前言 最近忙完项目比较闲,想写一篇博客来分享一些自学iOS的心得体会,希望对迷茫的你有所帮助。博主非科班出身,一些...
    GitHubPorter阅读 1,468评论 9 5
  • 1.badgeVaule气泡提示 2.git终端命令方法> pwd查看全部 >cd>ls >之后桌面找到文件夹内容...
    i得深刻方得S阅读 4,791评论 1 9
  • 生命是一种美妙的存在。它能感受着周围的一切。 我喜欢生命的跳动。在左边的一颗心里。那是生命的锁喉。我始终认为人...
    圣托里尼阅读 1,028评论 0 2