遵守协议
<UITableViewDataSource,UITableViewDelegate>
创建UITableView布局
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor blueColor];
self.title = @"列表";
UITableView *tableView = [[UITableView alloc]initWithFrame:self.view.bounds];
tableView.dataSource = self; //遵循数据源
tableView.delegate = self; //遵循协议
// 分割线颜色 clearColor 隐藏分割线
tableView.separatorColor = [UIColor redColor];
//分割线样式 UITableViewCellSeparatorStyleNone 隐藏分割线
tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;
[self.view addSubview:tableView];
}
实现方法
- 每个分区的行数
(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return 10;
}
- 一共多少组
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
return 1;
}
- 每个Cell单元格的内容
(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
//从系统回收池中取Cell
UITableViewCell *cell =[tableView dequeueReusableCellWithIdentifier:@"id"];
//取不到的时候创建Cell
if(!cell){
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"id"];
//右侧按钮开关
cell.accessoryView = [[UISwitch alloc]init];
//右侧向右箭头
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
}
cell.textLabel.text = @"标题";
cell.detailTextLabel.text = @"副标题";
cell.imageView.image = [UIImage imageNamed:@"首页"];
//选择样式(无样式)
cell.selectionStyle = UITableViewCellSelectionStyleNone;
//Cell背景色
cell.backgroundColor = [UIColor yellowColor];
return cell;
}
- 点击Cell触发事件
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
NSLog(@"点击");
}
- 头部标题
-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{
return @"头部标签";
}
- 尾部标题
-(NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section{
return @"尾部标签";
}
- 每一行Cell的高度
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
return 50; //默认44
}
- 头标签的高度
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
return 10;
}
- 尾标签的高度
-(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{
return 10;
}