由于tableView:heightForRowAtIndexPath:方法的调用频率非常高,如果将cell高度的计算过程放在此方法中,那么效率将会非常的低,快速tableview就会出现卡顿

1、通过代码

(在模型当中只计算一次cell高度,然后在方法中直接从模型属性当中取出cell高度)

#import <UIKit/UIKit.h>@interface CellItem : NSObject/**cell高度*///表明不能在外部修改
@property (nonatomic, assign,readonly)  CGFloat cellHeight;@end

#import "CellItem.h"@interface CellItem()
{CGFloat _cellHeight;//使用了readonly策略,又实现了getter方法,编译器将不再生成_cellHeight成员变量,需要手动添加
}
@end@implementation CellItem- (CGFloat)cellHeight
{if (!_cellHeight)//保证只计算一次
    {_cellHeight = /**计算cell高度*/}return _cellHeight;
}@end

2、通过自动布局,自动计算

- (void)viewDidLoad {[super viewDidLoad];self.myTableView.estimatedRowHeight = 44;self.myTableView.rowHeight = UITableViewAutomaticDimension;
}- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{return UITableViewAutomaticDimension;
}

转载于:https://www.cnblogs.com/HJQ2016/p/5928820.html

第四十五篇、UITableViewCell高度计算相关推荐

  1. “约见”面试官系列之常见面试题之第四十五篇CSS优先级(建议收藏)

    官方表述的CSS样式优先级如下: 通用选择器(*) < 元素(类型)选择器 < 类选择器 < 属性选择器 < 伪类 < ID 选择器 < 内联样式 那么,我们来举个 ...

  2. 第四十五篇 信号上升时间的理解

    一般有两种定义: 1.10%VCC-90%VCC 2.20%VCC-80%VCC 信号上升时间可能引起的问题:反射.串扰.电磁辐射.地弹.轨道塌陷.噪声问题等. 信号上升时间的减小,从频谱分析的角度来 ...

  3. [Python从零到壹] 四十五.图像增强及运算篇之图像灰度非线性变换详解

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

  4. 服务器存储满了进不去系统,解决PC常见问题 篇四十五:建议收藏!手贱升级进不去系统?两步简单恢复黑群晖!...

    解决PC常见问题 篇四十五:建议收藏!手贱升级进不去系统?两步简单恢复黑群晖! 2021-07-19 16:40:32 47点赞 302收藏 15评论 创作立场声明:本文属于原创文章,无任何利益关系, ...

  5. android相册幻灯片功能,玩机教程 篇四十五:「MIUI玩机技巧63」MIUI相册新增“幻灯片播放”功能...

    玩机教程 篇四十五:「MIUI玩机技巧63」MIUI相册新增"幻灯片播放"功能 2020-02-17 16:15:35 0点赞 0收藏 0评论 本帖主要解决2大问题: 1) 功能科 ...

  6. 【Visual C++】游戏开发笔记四十五 浅墨DirectX教程十三 深度测试和Z缓存专场

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 文章链接: http://blog.csdn.net/zhmxy555/article/details/8607864 作者:毛星云(浅墨 ...

  7. NeHe OpenGL教程 第四十五课:顶点缓存

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  8. 四十五、深入Java的网络编程(上篇)

    @Author:Runsen @Date:2020/6/8 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏艰 ...

  9. [系统安全] 四十五.APT系列(10)Metasploit后渗透技术信息收集、权限提权和功能模块详解

    您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...

最新文章

  1. C++报错解决:error: ‘int’ is not a class, struct, or union type typedef typename _Sequence::value_
  2. P3项目全球模板狗血设置之一 --- 发货到成本中心需要输入Customer
  3. IOS用CGContextRef画各种图形(文字、圆、直线、弧线、矩形、扇形、椭圆、三角形、圆角矩形、贝塞尔曲线、图片)...
  4. 从龙门镖局看自动化测试
  5. 面向表开发 面向服务开发_面向繁忙开发人员的计算机视觉
  6. 今天,给我妈打电话聊了我爸
  7. Pandas Learning
  8. 高程计算 高程计算 高程计算
  9. 音视频技术之《移动直播秒开优化经验》
  10. BoardCast BroadcastReceiver 基础
  11. android清单文件的作用,Android 清单文件
  12. 几款视频剪辑软件,轻松完成视频转换,剪辑
  13. HAL库STM32CuBe实现按键扫描芯片STM32F407
  14. Linux中一句话反弹Shell细说
  15. 结对编程——《构建之法》读书笔记
  16. 使用Mosquitto软件测试mqtt功能
  17. 基于halcon的直线查找之卡尺
  18. CCF NOI 1041.志愿者选拔
  19. 大数据、小数据与数字社会
  20. 2022年清华大学五道口金融学院考博(联合培养项目+普博项目)成果总结及经验分享

热门文章

  1. js实现IE/Firefox的收藏功能
  2. VSCode配合eslint进行JavaScript质量检查
  3. 26 JSX深度剖析与使用技巧
  4. Liunx 中tr的用法
  5. python 判断字符串时是否是json格式方法
  6. insertAfter()
  7. 使用jstree创建无限分级的树(ajax动态创建子节点)
  8. ORB-SLAM2-金字塔求解-特征点的提取-描述子的计算
  9. 做一个有胆识的有为青年
  10. Val编程-系统架构