UITableView
- UITableViewDataSource協(xié)議
/** 與數(shù)據(jù)相關(guān)的協(xié)議*/
1.返回分區(qū)數(shù)
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
/** 有兩個分區(qū)*/
return 2;
}
2.返回每個分區(qū)的行數(shù)
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
/** 每個分區(qū)有10行*/
return 10;
}
3.返回每一行cell
/** 重點*/
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
/** cell*/
cell.textLabel.text = @"liu";
cell.textLabel.textColor = [UIColor colorWithRed:arc4random() % 256 / 255.0 green:arc4random() % 256 / 255.0 blue:arc4random() % 256 / 255.0 alpha:1];
cell.imageView.image = [UIImage imageNamed:@"6.jpg"];
cell.imageView.layer.cornerRadius = tableView.rowHeight / 2;
cell.imageView.layer.masksToBounds = YES;
cell.detailTextLabel.text = @"lanou";
cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
return cell;
}
4.返回分區(qū)頭標題
-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
NSString *str = @"西八";
return str;
}
5.返回分區(qū)尾標題
-(NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section {
return @"footer";
}
6.側(cè)邊欄
-(NSArray<NSString *> *)sectionIndexTitlesForTableView:(UITableView *)tableView {
return [self.addressBook getGroupNames];
}
- UITableViewDelegate協(xié)議方法
/** 控制視圖行為的*/
1.返回行高
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"section: %ld, row: %ld", indexPath.section, indexPath.row);
/** 通過switch控制不同行有不同行高*/
switch (indexPath.row) {
case 0:
return 100;
break;
default:
return 50;
break;
}
}
2.返回分區(qū)頭高度
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
return 30;
}
3.返回分區(qū)尾的高度
-(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
return 30;
}
4.cell的點擊方法
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"%@", indexPath);
}