• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ios > tableView中只不显示数据源的前几个,稍微向下拖拽就会显示完全,什么原因?

tableView中只不显示数据源的前几个,稍微向下拖拽就会显示完全,什么原因?

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了tableView中只不显示数据源的前几个,稍微向下拖拽就会显示完全,什么原因?等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: tableView中只不显示数据源的前几个,稍微向下拖拽就会显示完全,什么原因?
描述:

tableView 的cell中添加了计算cell的高度并且调用代理方法,返回给视图控制器
当服务器返回数据源的时候,刷新tableView。
但是,此时执行的cellForRowIndexPath 的indexPaht 是从第四行开始的,,
将前边的几个给跳过了,
我试着将cell的高度写成定值,
结果cell的数量正常,
这会是什么问题?


解决方案1:

应该是高度计算滞后了。
tableView的显示顺序大致是:
请求 sectionNumber 和 numberForSection 获取一共有多少个section和cell。
请求 heightForRow:atIndexPath 获取即将显示在界面上的 cell 的高度。
然后请求 cellForRow 获取这个 cell 的实例。
然后设置 cell 的高度等,layout 之后调用 willDisplay 等回调方法,然后显示在界面上。

所以你刷新 tableView 时高度这部分的处理应该是,先根据数据源计算cell高度而不是让cell实例计算好了再回调给控制器。当然,你也可以在cell中计算,比如在cell中有个类方法,根据传入的cell数据计算,并由控制器主动调用这个方法。大概代码如下:

在 controller 或 tableView 的 delegate 实现类中:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSDictionary *cellData = self.dataSource[indexPath.row];
    return [MyTableViewCell cellHeightForData:cellData];
}

MyTableViewCell:

+ (CGFloat)cellHeightForData:(NSDictionary *)cellData
{
    // 根据 cellData 计算 cell 的高度
    return height;
}


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • tableView中只不显示数据源的前几个,稍微向下拖拽就会显示完全,什么原因?

相关文章

  • 2017-06-05 ViewControlleriOS如何在任何view弹出消息通知框
  • 2017-06-05 关于iOS内存管理的问题
  • 2017-06-05 微信网页版朋友圈iOS分享多张图片到微信朋友圈
  • 2017-06-05 titiOSuibutton的title疑问
  • 2017-06-05 ios图片如何转化成二进制流
  • 2017-06-05 维维网高级查询key(swift)怎么查询key
  • 2017-06-05 iOS开发支付宝支付成功返回字符串怎么处理获取参数
  • 2017-06-05 xcode上传报错ITMS-90534
  • 2017-06-05 哪个大腿帮忙发个Xcodeios102的配置包吧
  • 2017-06-05 要做一个支持横竖屏切换的自动布局

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • button是什么意思button触发区域异常
    • AVPlayer播放网络声音很慢
    • 会声会影10安装教程podupdate后会自动安装未知的依赖库
    • 一个textView里面的内容高度明明比textview小,却还是会滑动的问题
    • 如何获取iphone基带芯片工作时候获取到的一些参数呢,如信号强度,小区,周围小区以及一些更深入的参数,有人了解吗
    • macbook用终端安装cocoapods时出问题后来“gem”指令失效
    • iOS:encode非空枚举类型时发生空指针引用?
    • window.self关于self循环引用的一个疑问
    • scrolllock键ios上监听scroll滚动事件执行顺序
    • IOS引用三方framewrok的头文件出现'xxxxx/xxxxh'filenotfound

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有