iOS UITableView代理方法解析
iOS UITableView代理方法解析
初学iOS时,对代理方法不是很熟悉,所以将它整理了一下
#pragma mark 设置分组标题内容高度
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
if(section==0){
return 50;
}
return 40;
}
#pragma mark 设置每行高度(每行高度可以不一样)
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
return 45;
}
#pragma mark 设置尾部说明内容高度
-(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{
return 40;
}
#pragma make - 返回分组数
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
if (self.dataSource.count && self.dataSource.count) {
return 2;
} else {
return 1;
}
}
#pragma mark - 返回每组行数
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if (section == 0) {
return self.dataSource.count;
}
return self.groupSource.count;
}
#pragma mark - 返回每组头标题名称
-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
if (section == 0 && self.dataSource.count != 0) {
return @"人";
} else if (self.groupSource.count != 0){
return @"群";
}
return @"";
}
#pragma mark 返回每组尾部名称
-(NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section{
return @"名称";
}
#pragma mark - 返回每行的单元格
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.section == 0) {
LZAddFriendCell *cell = [LZAddFriendCell cellWithTableView:tableView];
cell.searchResult = self.dataSource[indexPath.row];
return cell;
}
else {
MMHAddGroupCell *cell = [MMHAddGroupCell cellWithTableView:tableView];
cell.groups = self.groupSource[indexPath.row];
return cell;
}
}
#pragma mark - 点击行触发的方法
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
}
Demo








网友评论