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 ;
}