TableViewCell中cell高度不一样时的优化

TableViewCell中cell高度不一样时的优化:

    1.先创建有可能要显示的View(只初始化,不加载图片,如果后面不改变的在这初始化 不变的东西只初始化一次);

    2.可以用一个数据模型记录Cell中所有子视图的位置,视图要显示的数据;

    3.调用数据模型给Cell中的view赋值,并设置frame

注意 重复利用cell时cell中的所有view,一定重新设置!!!!

在tableView中

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{

    // 1.创建cell

   IWStatusCell *cell = [IWStatusCellcellWithTableView:tableView];

    

    // 2.传递frame模型

    cell.statusFrame =self.statusFrames[indexPath.row];

    

   return cell;

}


在tableViewCell中

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier

{

   self = [superinitWithStyle:style reuseIdentifier:reuseIdentifier];

   if (self) {

        // 1.添加内部的子控件

        [selfsetupOriginalSubviews];

    }

    return self;

}


- (void)setupOriginalSubviews

{

    /** 1.顶部的view */

   UIImageView *topView = [[UIImageViewalloc] init];

    [self.contentViewaddSubview:topView];

   self.topView = topView;

    ..................

    /** 4.头像 */

   UIImageView *iconView = [[UIImageViewalloc] init];

    [self.topViewaddSubview:iconView];

   self.iconView = iconView;

}

- (void)setStatusFrame:(ModeFrame *)statusFrame

{

   _statusFrame = statusFrame;

    

    // 给自视图赋值和frame

    [selfsetupOriginalData];

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值