我有 section:1 有 11 行。我这样设置高度
- (CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.section == 0) return 350;
else if (indexPath.section == 1) {
return 150;
}
else return 0;
}
如果我设置 cell.hidden = YES; 我如何删除单元格,因为如果 cell.hidden = YES 它将显示空间,但如果单元格被隐藏,我不想要我想要的空间直接从 secrion 中删除:1
或者如果我可以将每个隐藏单元格的高度设置为 0.0
谢谢
编辑
tableView 没有 NSArray 它是这样定制的
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
if (section == 0) { return 1; }
else if (section == 1) {
int retype = [type intValue];
if (retype == 1 || retype == 5 || retype == 10) {
return 0;
}
else if (retype == 11) { return 9; }
else if (retype == 14) { return 4; }
else {
return 11;
}
}
else return 0;
}
和像这样配置的单元格
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (!cell) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
cell.selectionStyle = UITableViewCellSelectionStyleGray;
}
int truef = [*nsstring* intValue];
if (indexPath.section == 1) {
if (indexPath.row == 0) {
if (truef == 0) {
cell.hidden = YES;
}
else {
cell.titleLabel.text = @"True";
}
}
}
编辑 2
这是使用 deleteRowsAtIndexPaths 后的错误
reason: 'Invalid update: invalid number of rows in section 1. The number of rows contained in an existing section after the update (11) must be equal to the number of rows contained in that section before the update (11), plus or minus the number of rows inserted or deleted from that section (0 inserted, 1 deleted) and plus or minus the number of rows moved into or out of that section (0 moved in, 0 moved out)