自定义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;
 }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 我们在上一篇《通过代码自定义不等高cell》中学习了tableView的相关知识,本文将在上文的基础上,利用sto...
    啊世ka阅读 1,672评论 2 7
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 15,916评论 4 61
  • 1.xib方式创建 每个cell的显示的内容都是固定的,也就是cell的高度都是相同的 加载数据 有plist文件...
    WeiHing阅读 6,966评论 0 6
  • (27/100) 幕布文件 详细介绍: 注:参考卡片搭建知识组块。参考幕布详细理解成甲老师的分享内容。 金句:我的...
    xiaolubobo阅读 177评论 0 0
  • 存在感。 每天在熬夜。回到租住的地方就是吃饭看电视。然后玩手机。 然后熬夜看半个小时书。好,11点半,睡觉。 这样...
    天风泠泠山月白阅读 253评论 0 0

友情链接更多精彩内容