UItableViwe的基本使用

UItableView在实际使用时会根据需求的不同进行不同的设置

自定义cell

1.注册,需要几种cell注册几种cell,根据组号的不同进行替换即可
2.行高(最好是设置预估行高,让cell的内容将cell撑开)

//通过代理方式设置行高,同时可以根据组号设置不同组号的行高
- (CGFloat)tableView:(UITableView*)tableViewheightForRowAtIndexPath:(NSIndexPath*)indexPath{
    if(indexPath.row==0)
        return200;
    return200;
}
//设置预估行高
    self.tableViwe.estimatedRowHeight = 200;
    self.tableViwe.rowHeight = UITableViewAutomaticDimension;
自定义表头表尾

1.自定义表头
表头的的大小是根据自定义的view进行设置的,不需要tableView进行设置

- (void)setUpHeaderView{
    GGTableViewHeaderView *headerView = [[GGTableViewHeaderView alloc]initWithFrame:CGRectMake(0, 0, CGRectGetWidth(self.view.frame), 350)];
    self.tableView.tableHeaderView = headerView;
}

2.自定义表尾
同上

- (void)setUpFooterView{
    GGTableViewFooterView *footerView = [[GGTableViewFooterView alloc]initWithFrame:CGRectMake(0, 0, CGRectGetWidth(self.view.frame), 70)];
    footerView.delegate = self;
    self.tableView.tableFooterView = footerView;
}
自定义组头组尾

1.自定义组头
根据需求的可以根据组号设置不同高度和视图

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
    if(section == 0)
        return 200;
    return GGTableViewHeaderH;
}
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
    if(section == 0){
        UIView *view = [[UIView alloc]initWithFrame:CGRectMake(0, 0, CGRectGetWidth(self.view.frame), GGTableViewHeaderH)];
          view.backgroundColor = [UIColor blueColor];
          return view;
    }
    UIView *view = [[UIView alloc]initWithFrame:CGRectMake(0, 0, CGRectGetWidth(self.view.frame), GGTableViewHeaderH)];
    view.backgroundColor = [UIColor blueColor];
    
    UILabel *title = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, CGRectGetWidth(self.view.frame), GGTableViewHeaderH)];
    title.text = self.dataList[section].title;
    title.textAlignment = NSTextAlignmentCenter;
    [view addSubview:title];
    return view;
}

2.设置组尾
同上

- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{
    if(section == 0)
        return 200;
    return GGTableViewFooterH;
}
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section{
    if(section == 0){
        UIView *view = [[UIView alloc]initWithFrame:CGRectMake(0, 0, CGRectGetWidth(self.view.frame), GGTableViewFooterH)];
        view.backgroundColor = [UIColor redColor];
        return view;
    }
    UIView *view = [[UIView alloc]initWithFrame:CGRectMake(0, 0, CGRectGetWidth(self.view.frame), GGTableViewFooterH)];
    view.backgroundColor = [UIColor redColor];
    UILabel *title = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, CGRectGetWidth(self.view.frame), GGTableViewFooterH)];
    title.text = @"footer";
    title.font = [UIFont systemFontOfSize:11];
    [view addSubview:title];
    return view;
}
拓展

1.tableView的索引

- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView{
    return [self.dataList valueForKey:@"title"];
}

2.组头组尾设置文字

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{
    return self.dataList[section].title;
}
- (NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section{
    return @"footer";
}

你可能感兴趣的:(UItableViwe的基本使用)