自定义Cell高度 封装在模型中

在项目中 使用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;
 }

你可能感兴趣的:(自定义Cell高度 封装在模型中)