你应该知道的tableViewCell行高计算处理

2020-01-21 07:30:52王振洲

前言

UITableView 是在app界面里非常常用的一个控件了,打开一个app,内容列表 作者列表 朋友圈列表等等,,,都离不开 UITableView 。

而 UITableView 的精髓,则是在 UITableViewCell 展现的, 最常用的 自定义cell 有的行高是固定的,而大部分 则需要根据内容来计算行高展示的。

下面就说说我在实际开发中处理cell行高的几种情况:

1. 不需要动态计算高度

我在写tableview时,基本都是自定义cell,而所有的自定义cell,都会继承一个基类BaseTableViewCell:

.h里:


.h里:
// 重用标识
+ (NSString *)reuseIdentifier;
// cell高度
+ (CGFloat)staticHeight;

.m里:
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
 self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
 if (self) {
 self.opaque = NO;
 self.selectionStyle = UITableViewCellSelectionStyleNone;
 }
 return self;
}

// 重用标识
+ (NSString *)reuseIdentifier {
 return NSStringFromClass([self class]);
}

// cell高度
+ (CGFloat)staticHeight {
 return 44.f;
}

这样写的好处是,当我们在使用tableview时,会方便我们对重用标识符 行高使用,看一下:

tableViewCell,行高

staticHeight可以在子类的自定义cell里更改设置,使用时: