自定义等高的cell(使用XIB)

来源:互联网 发布:ubuntu xorg 安装 编辑:程序博客网 时间:2024/05/16 09:06

自定义等高的cell(使用XIB)

标签(空格分隔): ios基础


新建一个继承自UITableViewCell的子类,比如JLTgCell

@interface JLTgCell : UITableViewCell@end

新建一个xib文件(文件名最好跟类名一致,比如JLTgCell.xib)

  • 修改cell的class为JLTgCell

  • 绑定循环利用标识

  • 添加子控件,设置子控件约束

  • 将子控件连线到类扩展中

@interface JLTgCell()@property (weak, nonatomic) IBOutlet UIImageView *iconImageView;@property (weak, nonatomic) IBOutlet UILabel *titleLabel;@property (weak, nonatomic) IBOutlet UILabel *priceLabel;@property (weak, nonatomic) IBOutlet UILabel *buyCountLabel;@end

在JLTgCell.h文件中提供一个模型属性,比如JLTg模型

@class JLTg;@interface JLTgCell : UITableViewCell/** 团购模型数据 */@property (nonatomic, strong) JLTg *tg;@end

在JLTgCell.m中重写模型属性的set方法

  • 在set方法中给子控件设置模型数据
- (void)setTg:(JLTg *)tg{    _tg = tg;    // .......}

在控制器中

  • 注册xib文件
[self.tableView registerNib:[UINib nibWithNibName:NSStringFromClass([JLTgCell class]) bundle:nil] forCellReuseIdentifier:ID];
  • 给cell传递模型数据
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{    // 访问缓存池    JLTgCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];    // 设置数据(传递模型数据)    cell.tg = self.tgs[indexPath.row];    return cell;}
0 0
原创粉丝点击