IOS TableView 分组

2020-11-21  本文已影响0人  奇梦人
  1. 创建 TableView
@property (nonatomic, strong) UITableView *tableView;

-(void)setContentView{
   _tableView = [UITableView new];
   [self.view addSubview: _tableView];
}
   
  1. 实现接口
<UITableViewDataSource,UITableViewDelegate>
  1. 需要实现的方式
 #pragma mark 返回分组数
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
    return self.recordList.count;
}
#pragma mark - 设置分组的高度
- (CGFloat) tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
    return countcoordinatesX(41);
}
#pragma mark 返回每组行数
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    return self.recordList[section].modelList.count;
}

#pragma mark - 自定义分组头
- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
    //1 自定义头部
    UIView * view=[[UIView alloc] init];
    view.backgroundColor=[UIColor colorWithHexString:@"#F2F3F7"];
     
    // 2 增加控件
    UILabel * titleLable=[UILabel new];
    [view addSubview:titleLable];
    
    titleLable.text = self.recordList[section].title;
    titleLable.textColor = [UIColor colorWithHexString:@"666666"];
    titleLable.font = [UIFont systemFontOfSize:16];
    [titleLable mas_makeConstraints:^(MASConstraintMaker *make) {
        make.centerY.mas_equalTo(view.mas_centerY);
        make.left.mas_equalTo(countcoordinatesX(16));
    }];
    return view;

}


#pragma mark cell视图
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    RechargeRecordsTableViewCell * cell = [[RechargeRecordsTableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"rechargeRecordsCell"];
    if (cell == nil) {
        cell = [[RechargeRecordsTableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"rechargeRecordsCell"];
        
    }
    [cell layouttableViewCell:self.recordList[indexPath.section].modelList[indexPath.row]];
    return cell;
}

#pragma mark 设置cell高度
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
    return countcoordinatesX(61);
}
上一篇下一篇

猜你喜欢

热点阅读