0

我在点击一个单元格时扩展单元格。现在我想隐藏旧标签并需要添加新标签。

在隐藏单元格内容时,它会隐藏每个可重用单元格的内容。(就像在选择单元格 1 时,我想隐藏旧标签并显示单元格 1 的新标签,但它隐藏了 1、6、11 .. 行的标签)

我无法找到解决方案。

我正在使用此代码

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{    

        BOOL isSelected = ![self cellIsSelected:indexPath];

        // Store cell 'selected' state keyed on indexPath
        NSNumber *selectedIndex = [NSNumber numberWithBool:isSelected];
        [selectedIndexes setObject:selectedIndex forKey:indexPath];        

        [self.newsTableview beginUpdates];

        UITableViewCell *tableviewCell = [tableView cellForRowAtIndexPath:indexPath];
        UITextView *textView = (UITextView *)[tableviewCell.contentView viewWithTag:101];
        UILabel *label = (UILabel *)[tableviewCell.contentView viewWithTag:100];
        UIImageView *imageView1 = (UIImageView *)[tableviewCell.contentView viewWithTag:102];

         if([self cellIsSelected:indexPath])
         {          
             label.hidden = YES;
             imageView1.hidden = YES;
             textView.hidden = YES;           
         }        

        [self.newsTableview endUpdates];                       


    // Deselect cell
    [tableView deselectRowAtIndexPath:indexPath animated:TRUE];
}

请帮忙..提前谢谢

4

3 回答 3

1

用来dequeueReusableCellWithIdentifier喜欢nil下面

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:nil];

或分配不同的标识符,如下所示...

   NSString *CellIdentifier =[NSString stringWithFormat:@"%d%d",indexPath.section,indexPath.row];
 UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
于 2012-12-13T08:06:17.330 回答
0

我可以使用 Paras 建议修复它:

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:nil];
于 2013-04-19T11:18:39.587 回答
0
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:CellIdentifier];

我认为您只使用一个这样的单元标识符。当您更改某些内容时,它会影响所有内容。尝试使用不同的标识符。

于 2012-12-13T09:56:55.037 回答