我在点击一个细胞时正在扩大细胞。 现在我想隐藏旧标签,需要添加新标签。
在隐藏单元格内容时,它会隐藏每个可重用单元格中的内容。 (就像选择单元格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];
}
请帮忙.. 提前致谢
答案 0 :(得分:1)
将dequeueReusableCellWithIdentifier
用于nil
,如下所述
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:nil];
或指定不同的标识符如下...
NSString *CellIdentifier =[NSString stringWithFormat:@"%d%d",indexPath.section,indexPath.row];
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
答案 1 :(得分:0)
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:CellIdentifier];
我认为你只使用一个像这样的Cell Identifier。当你改变某些东西时,它会影响所有这些。尝试使用不同的标识符。
答案 2 :(得分:0)
我可以使用Paras建议修复它:
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:nil];