自定义tableView

本文深入探讨了iOS开发中如何使用cell与视图控制器进行数据展示,包括如何通过注册与重写方法创建并初始化可重用的cell,以及如何在cell中布局子控件以实现高效的数据展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2014年08月16日21:55:08

步骤:

1.新建一个继承自UITableViewCell的类
2.重写initWithStyle:reuseIdentifier:方法

添加所有需要显示的子控件( 子控件要添加到contentView中)

进行子控件一次性的属性设置(有些属性只需要设置一次, 比如字体\固定的图片)。

其他:

1,

cell = [tableView dequeueReusableCellWithIdentifier:@"oddCell" forIndexPath:indexPath];  //这句话执行过程中会调用cell的初始化方法,创建cell对象。

2,

//可以注册多个不同的可重用cell的标示符

    [myTableView registerClass:[NewsTableViewCell class] forCellReuseIdentifier:@"oddCell"];

    [myTableView registerClass:[NoImageTableViewCell class] forCellReuseIdentifier:@"evenCell"];

3,

/**

重写initWithStyle:reuseIdentifier:方法(在初始化对象的时候会调用)(这样就不会调用父类里的初始化方法)

一般在这个方法中添加需要显示的子控件

*/

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

4,

//1,一定不能手动调用

//2,自动调用的情况:

//a,改变父视图frame...之类的与布局相关的方法时

//b,改变它本身的frame/bounds...的时候

//c,添加到父视图上时(addSubview:

//d,调用它的setNeedsLayout方法的时候(可能)



//计算imageViewtextLabelcontentLabel三者的位置关系

//@property (nonatomic, strong) UILabel *contentLabel;


- (void)layoutSubviews



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值