1.什么时候需要使用UITableView?
** 官方文档如下**
-
To let users navigate through hierarchically structured data
-
To present an indexed list of items
-
To display detail information and controls in visually distinct groupings
-
To present a selectable list of options
简单理解就是现实的数据具有一定的层次结构
2.UITableView数据的展示通过Delegate和DataSource来配置(这个很重要!!!)
3.UITableView的类型 plain(无间隔)和grouped(段之间有间隔)类型
具体代码
1.创建TableView
** @interface ViewController ()<UITableViewDelegate,UITableViewDataSource> //这两个协议必须服从**
//创建一个TableView对象
self.tableView = [[UITableView alloc]initWithFrame:self.view.bounds style:UITableViewStylePlain];
//设置delegate和DataSouce
_tableView.delegate = self;
_tableView.dataSource = self;
//添加到界面上
[self.view addSubview:_tableView];
2.配置delegate和DataSource(必须的方法)
//配置每个section(段)有多少row(行) cell
//默认只有一个section
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return 5;
}
//每行显示什么东西
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
//给每个cell设置ID号(重复利用时使用)
static NSString *cellID = @"cellID";
//从tableView的一个队列里获取一个cell
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID];
//判断队列里面是否有这个cell 没有自己创建,有直接使用
if (cell == nil) {
//没有,创建一个
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellID];
}
//使用cell
cell.textLabel.text = @"哈哈哈!!!";
return cell;
}
运行结果
image可选方法
//配置多个section
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
return 6;//6段
}
//设置高度
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
return 60;
}
//某个cell被点击
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
//取消选择
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
效果
image
网友评论