第四十五篇UITableViewCell高度计算

Posted 久冬不雨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第四十五篇UITableViewCell高度计算相关的知识,希望对你有一定的参考价值。

由于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

 

- (void)viewDidLoad {
    [super viewDidLoad];
    self.myTableView.estimatedRowHeight = 44;
    self.myTableView.rowHeight = UITableViewAutomaticDimension;
}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return UITableViewAutomaticDimension;
}

 

以上是关于第四十五篇UITableViewCell高度计算的主要内容,如果未能解决你的问题,请参考以下文章

第四十五篇 入门机器学习——数据加载和简单的数据探索

Python之路(第四十五篇)线程Event事件 条件Condition定时器Timer线程queue

第四十五章

MySQL实战第四十五讲- 自增id用完怎么办?

MySQL实战第四十五讲- 自增id用完怎么办?

第四十五课 递归的思想与应用(下)