A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


    最近在做一个有关UITableView相关的项目,故又对UITableView加深了学习.至于UITableView的强大之处,在此就不累赘再谈了.那么在这个Demo中,有什么可学习的内容呢?
       说的再多,不如一张GIF图来的直接:



1.重用cell,注册cell重用标志
//注册cell重用标识符
[self.tableView registerClass:[YYCell class] forCellReuseIdentifier:@"linkmanCell"];
2.重用headview,注册headview重用标志
//注册头部视图的重用标识符
[self.tableView registerClass:[YYheaderView class] forHeaderFooterViewReuseIdentifier:@"header"];
3.子类化headview,自定义头视图中包含的内容
@implementation YYheaderView
- (instancetype)initWithReuseIdentifier:(NSString *)reuseIdentifier{
if (self = [super initWithReuseIdentifier:reuseIdentifier]) {
//创建与头视图大小一样的底部view
UIView *headView = [[UIView alloc] init];
headView.backgroundColor = [UIColor whiteColor];
headView.frame = CGRectMake(0, 0, SCREEN_W, 44);
[self.contentView addSubview:headView];
//创建带指示图片的button
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
[btn setImage:[UIImage imageNamed:@"brand_expand"] forState:UIControlStateNormal];
[btn addTarget:self action:@selector(tipExpandBtn:) forControlEvents:UIControlEventTouchUpInside];
btn.frame = CGRectMake(20, 14, 30, 16);
self.btn = btn;
[self.contentView addSubview:btn];
//创建显示组信息的label
UILabel *titleLabel = [[UILabel alloc]initWithFrame:CGRectMake(80, 7, 160, 30)];
titleLabel.textColor = [UIColor blackColor];
self.titleLabel = titleLabel;
[self.contentView addSubview:titleLabel];
}
return self;
}
4.调用系统带小标题的cell的type
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{
self = [super initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:reuseIdentifier];
return self;
}
5.刷新组中cell的方法,采用block回调(自定义一个block类型)
//定义一个回调的block类型
typedef void (^YYheaderCallBack)(BOOL expand);
6.字典转模型(经典做法)
    总结:本Demo中唯一逻辑思考方面的难点,就是在自定义block类型,在何处赋值 和 调用,以此来刷新组中cell的变化.如还没理解到位,请去下载源代码:GitHub - yaomars/-QQ-Demo  ,觉得看的顺眼的话,请用力点 star...

6 个回复

倒序浏览
图片没有显示哇,需要重新上传哦,
回复 使用道具 举报
谢谢分享           
回复 使用道具 举报
没图没图没图.....
回复 使用道具 举报
uitableview当然重要啦
回复 使用道具 举报
重新上图 :
                          

回复 使用道具 举报
没图没真相,怎么办
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马