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];

}


你可能感兴趣的:(iOS,开发)