当前位置: 首页 > 工具软件 > tableview > 使用案例 >

tableview的一些使用方法

黄高爽
2023-12-01
tableView的一些方法的使用:

tableView.backgroundColor = [UIColor clearColor]; // 设置背景图片
tableView.separatorStyle = UITableViewCellSeparatorStyleNone; // 设置分隔线样式
tableView.showsVerticalScrollIndicator = NO; // 展示竖直滚动框

cell:
 cell.selectionStyle = UITableViewCellSelectionStyleNone; // 选中cell不变色

// 多少个分组
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return self.dataArr.count;
}


//每个分组中有多少行
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return 1;
}


// tableView每个cell的高度,先执行此方法后才会执行调用cell方法
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
//    return 35*1 + 10; // 根据行号来判断,先执行此后再去执行cellfor
    NSMutableDictionary *dict = self.dataArr[indexPath.section];
    CGFloat height = 35*1 + 10;
    if ([dict[@"expand"] boolValue]) {
        height += 2*35;
        if ([dict[@"isShowVerifyView"] boolValue]) {
            height += 35;
        }
        if ([dict[@"isShowDonationView"] boolValue]) {
            height += 35;
        }
    }
   
    return height;
}

// 每个cell
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    // 重用标识
    static NSString *cell_ID = @"MyCell";
    CardinfoMaintainCell1 *cell = [self dequeueReusableCellWithIdentifier:cell_ID];
    if (cell == nil) {
        cell = [[CardinfoMaintainCell1 alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cell_ID];
    }
    cell.cellTag = indexPath.section;
   
    // 设置其中的值,然后
    cell.delegate = self;
    cell.dataDict = self.dataArr[indexPath.section];
   
    cell.selectionStyle = UITableViewCellSelectionStyleNone; // 选中不变色
    return  cell;

}


// 每个组的footerView
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
{
    if (section == self.dataArr.count - 1) {
        UITableViewHeaderFooterView *footerView = [[UITableViewHeaderFooterView alloc] init];
        footerView.backgroundColor = [UIColor redColor];
        UILabel *m_noticeLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 5, 300, 70)];
        m_noticeLabel.backgroundColor = [UIColor clearColor];
        m_noticeLabel.numberOfLines=0;
        m_noticeLabel.userInteractionEnabled = NO;
        m_noticeLabel.font = kLabelBoldFontSize15_5;
        m_noticeLabel.textColor = kFontBlackColor;
        m_noticeLabel.text =[NSString stringWithFormat:@"温馨提示:\n%@", @"全球支付卡设置支付入账后,卡片的外币交易将全部以人民币入账。"];
        [footerView addSubview:m_noticeLabel];
       
        return footerView;
    }
    return nil;

}

// 每组中头view的高度
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
    return 1;
}


// 每组中脚view的高度
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
{
    if (section == self.dataArr.count - 1) { // 如果是最后一行要在其footer中显示出一行label
        return 70;
    }
    return 10;
   
}


// 选中某一行
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    return ;
}
 类似资料: