文档章节

自动计算tableView的高度

闲云悠鹤蝶恋舞
 闲云悠鹤蝶恋舞
发布于 2016/02/29 23:45
字数 470
阅读 392
收藏 5

tableView自动计算行高:(需要设置两个属性:rowHeight和estimatedRowHeight

   注意:

     执行这个方法时不会调用行高方法

   [tableView dequeueReusableCellWithIdentifier:()]

      执行这个方法时会调用行高方法

    [tableView dequeueReusableCellWithIdentifier:() forIndexPath:()]

  ——设置了预估行高

       执行顺序:行数>每个[cell > 行高](注:即返回每个cell>每个cell的行高)

  • 当前显示的行高方法会调用三次(每个版本的Xcode调用次数可能不同)

  ** 问题:预估行高如果不同,计算的次数不同!

  •   1.使用预估行高,计算出预估的contentSize

  •   2.根据预估行高,判断计算次数,顺序计算每一行的行高,更新contentSize

  •   3.如果预估行高过大,超出预估行高范围,顺序计算后续行高,一直到填满屏幕退出,同时更新contentSize

  •   4.使用预估行高,每个cell显示前需要计算,单个cell的效率是低的,从整体效率是高的 

  • 特别注意:预估行高不要太大,也不要太小,尽量靠近!!!

   ——没有设置预估行高

      执行顺序:行数 > 行高 > cell

  •     1.计算所有行的高度

  •     2.再计算显示行的高度

    ** 问题:为什么要调用所有行高的方法?UITableView继承自UIScrollView

                  表格视图滚动非常流畅>需要提前计算出contentSize

设置预估行高的两个属性:

特别注意:这两个属性都要设置才能达到效果

  self.tableView.rowHeight =UITableViewAutomaticDimension;  // 行高
  self.tableView.estimatedRowHeight = 20;  // 预估行高


© 著作权归作者所有

共有 人打赏支持
闲云悠鹤蝶恋舞
粉丝 1
博文 40
码字总数 1731
作品 0
朝阳
程序员
私信 提问
IOS 列表行高的自动计算 解决开发中痛点

UITableView一直是我们app中使用频率最高的控件。UITableViewCell的算高问题也一直是一个老生常谈的问题。我们一般算高都是将cell中得各个控件的高度计算出来,然后给外界抛出一个接口,用来...

人独立
2015/10/13
2.2K
0
iOS开发中行高灵活可变的UITableView的性能优化

iOS开发中行高灵活可变的UITableView的性能优化 一、UITableView的构建原理 在新闻类,电商类等应用中,应用着大量的图文混排视图,在表视图UITableView中,开发者通常需要在如下代理方法中计...

珲少
2016/08/27
1K
6
tableview content size 计算错误

一.Tableview contentsize计算错误 上拉.一直拉到加载第二页. 然后再下拉. 发现tableview的contentsize还在继续增加. 如图. [图片上传失败...(image-35ae58-1510842738033)]=400x400) 二.解决...

Sunxxxxx丶
2017/11/16
0
0
使用自动布局的cell自适应高度和简单的性能优化

在iOS的开发过程中,UITableView的使用频次是非常高的,用来加载具有一定规则的的cell来呈现更多的展示内容.而根据规则的不同我们也要对cell做出相应的改变--自定义cell.使用自定义cell就不得不...

丁勒个东
2016/05/10
0
0
iOS11 UITableView reloadData 界面跳动问题

在 iOS11.的系统上当 UITableView 设置高度固定 rowHeight = xxx; 时,如果tableView滚动到最底部,此时如果刷新tableView会出现tableView向上方跳动一段距离的现象 。 既然只是在iOS 11系统...

zh_iOS
09/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

http协议请求头的意义

GET /day31_Http_306/index.jsp HTTP/1.1: GET请求,请求服务器路径为/hello/index.jsp,协议为1.1 请求头 1.Host:localhost:请求的主机名为localhost2.User-Agent:Mozilla/5.0(Windows NT......

潇潇程序缘
38分钟前
6
0
Netty 简单服务器 (三)

经过对Netty的基础认识,设计模型的初步了解,来写个测试,试试手感 上篇也说到官方推荐我们使用主从线程池模型,那就选择这个模型进行操作 需要操作的步骤: 需要构建两个主从线程组 写一个服务器...

_大侠__
48分钟前
8
0
day02:管道符、shell及环境变量

1、管道符:"|" 用于将前一个指令的输出作为后一个指令的输入,且管道符后面跟的是命令(针对文档的操作):cat less head tail grep cut sort wc uniq tee tr split sed awk等) [root@localho...

芬野de博客
59分钟前
16
0
Kubernetes系列——Kubernetes 组件、对象(二)

一、Kubernetes 组件 介绍了Kubernetes集群所需的各种二进制组件。 Master 组件 Master组件提供集群的管理控制中心。Master组件可以在集群中任何节点上运行。但是为了简单起见,通常在一...

吴伟祥
今天
17
0
Flink-数据流编程模型

1、抽象等级 Flink提供了不同级别的抽象来开发流/批处理应用程序。 1) 低层级的抽象 最低层次的抽象仅仅提供有状态流。它通过Process函数嵌入到DataStream API中。它允许用户自由地处理来自一...

liwei2000
今天
16
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部