使用UItableview在iOS应用开发中实现好友列表功能

2020-01-14 17:58:21于海丽

//    {
//        return 0;
//    }
    
    if (group.isOpen) {
        // 代表要展开
        return group.friends.count;
    }else
    {
        // 代表要合拢
        return 0;
    }
}
//每组每行的内容
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    //1.创建cell
    YYfriendCell *cell=[YYfriendCell cellWithTableview:tableView];

    //2.设置cell
    YYQQGroupModel *group=self.groupFriends[indexPath.section];
    YYFriendsModel *friends=group.friends[indexPath.row];
    cell.friends=friends;
    //3.返回一个cell
    return cell;
}


#pragma mark - 代理方法
// 当一个分组标题进入视野的时候就会调用该方法
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
//    //    1.创建头部视图
//    UIView *view = [[UIView alloc] init];
//    view.backgroundColor = [UIColor grayColor];
//    //    2.返回头部视图
//    return view;
    
    //创建自定义的头部视图
    YYHeaderView *headerview=[YYHeaderView headerWithTableView:tableView];
    
    //设置当前控制器为代理
    headerview.delegate=self;
    //设置头部视图的数据
    YYQQGroupModel *groupmodel=self.groupFriends[section];
    headerview.group=groupmodel;
    //返回头部视图
    return headerview;
}


#pragma mark - YYHeaderViewDelegate
-(void)headerViewDidClickHeaderView:(YYHeaderView *)headerView
{
    //重新调用数据源的方法刷新数据
    [self.tableView reloadData];
}
//设置分组头部标题的高度
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
    return 30;
}