UITableView-section与row

确定section与row代码:

//几个section
- (NSInteger)numberOfSectionsInTableView:(UITableView*)tableView {
    return 6;
}
//每个section包含的row
- (NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section {
    switch(section) {
        case0:
            return 1;
            break;
        case1:
            return 1;
            break;
        case2:
            return 2;
            break;
        case3:
            return 1;
            break;
        case4:
            return 1;
            break;
        case5:
            return 1;
            break;
        default:
            return 0;
            break;
            }
}

之后在数据源方法中确认每个section下cell的identifier

-(UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath {
switch(indexPath.section) {
case0:
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([UITableViewCell class])];
return cell;
break;
}
...
return nil;
}

下面确认每个section的title,高度与row的高度

//title
- (NSString*)tableView:(UITableView*)tableView titleForHeaderInSection:(NSInteger)section{
    NSString* sectionName;
    switch(section){
        case 0:
            sectionName = self.titleArray[0];
            break;
        case 1:
            sectionName = self.titleArray[1];
            break;
        case 2:
            sectionName = self.titleArray[2];
            break;
        default:
            break;
    }
    return sectionName;
}
//section高度
- (CGFloat)tableView:(UITableView*)tableView heightForHeaderInSection:(NSInteger)section {
    switch(section) {
        case 0:
            return 50;
            break;
        case 1:
            return 50;
            break;
        case 2:
            return 50;
            break;
        default:
            return 0;
            break;
    }
}
//row高度
-(CGFloat)tableView:(UITableView*)tableView heightForFooterInSection:(NSInteger)section {
    return 40;
}

自定义section

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{

 UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 375, 40)];//

  //add your code behind

  

 return view;

}

header通过下面两个代理方法设置

  • (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section

  • (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section

footer通过下面两个

  • (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section

  • (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section

如果要做整个tableview的header和footer,要通过tableview setHeaderView setFooterView

你可能感兴趣的:(UITableView-section与row)