介绍:?
提示:数据量大、样式较为统一、分组的需要以及滚动的需求。
图示:
?UITableViewDataSource:
提示UITableView作为视图,只负责展示,协助管理,不管数据需要开发者为UITableView提供展示需要的数据以及 UITableViewDataSource的代理模式。
@required:
- - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;
- - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
?UITableViewDelegate:
提供滚动过程中,UITableViewCell的出现、消失以及headers\fotters、cell高度、回调「点击、删除」的设置。
@optional:
- - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
- - (nullable UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section;
- - (nullable UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section;
- - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;
UITableViewCell:
系统cell的样式:
cell的内容:
cell的复用:
?
代码演示:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString *cellId = @"cellId";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellId];
if (cell == nil){
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellId];
}
cell.textLabel.text = @"视频";
cell.imageView.image = [UIImage imageNamed:@"video"];
cell.detailTextLabel.text = @"视频详情";
return cell;
}
NSIndexPath:
介绍:指定组和行
?
|