在选择时将子视图添加到特定的uitableview单元格



我有一个表视图,我想在单元格的contentView中添加一个imageview

这是我当前的代码,当我单击任何单元格时,它只会将imageView添加到最后一行,而不是我单击的行。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    playIcon = [[UIImageView alloc]initWithFrame:CGRectMake(20, 22, 9, 12)];
    UIImage *image = [UIImage imageNamed: @"cell_play.png"];
    [playIcon setImage:image];
    [cell.contentView addSubview:playIcon];
}

你可以这样做

[[tableView cellForRowAtIndexPath:indexPath] addSubview:playIcon];

首先,您没有在特定行中标识单元格。由于您的编译器没有抱怨,所以我认为该单元格是一个ivar。它指向它所指向的最后一个单元格,很可能是表中的最后一单元格。

您必须小心,不要在UITableview方法之外设置单元格的内容,包括UITableview方法cellForRowAtIndexPath:`。这在我最近在这个链接上提供的回答中有描述。

因此,如果你看了这个答案,你就会发现,即使在表视图滚动、单元格出现和消失时,表视图方法也会确保单元格正确呈现。我建议您使用某种标记或属性来设置数据源,以便查看是否需要显示此图像。这样,即使你滚动单元格,它也会出现在那里。

在Swift 2.0:中使用UIcollectionView和UItableviewcell为我工作

CV_Posts.cellForItemAtIndexPath(index)?.addSubview(imag_curtir)

最新更新