自定义Cell高度 封装在模型中
2016-08-13 本文已影响15人
HOULI
在项目中 使用tableView比较多,cell的高度有的时候不是固定的,所以需要根据模型计算高度,为了考虑效率和代码易读,我们把cell上控件的frame 封装到模型中,
1、给所有控件的frame
2、cell的高度;
@interface HLCellModel : NSObject
//****** frame *******
/**
* 文字 图片数据
*/
@property(nonatomic,assign)CGRect iconFrame;
/**
* cell高度
*/
@property(nonatomic,assign) float cellHeight;
@end
@implementation HLCellModel
//重写模型cellHeight属性的get方法
-(float)cellHeight
{
if (_cellHeight == 0) {
// ...计算所有子控件的frame cell的高度
}
return _cellHeight;
}
@end
//在tableview上使用
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
HLCellModel * cellModel = [self.dataSourceArray objectAtIndex:indexPath.row];
return cellModel.cellHeight;
}