1

我有一个 tableview,我想在它被选中的行的单元格的 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];
}
4

3 回答 3

1

你可以这样做

[[tableView cellForRowAtIndexPath:indexPath] addSubview:playIcon];
于 2012-06-02T10:43:40.467 回答
0

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

您必须注意不要在 UITableview 方法之外设置单元格的内容,包括 UITableView 方法 cellForRowAtIndexPath:`。我在此链接上提供的最近回答中对此进行了描述。

因此,如果您查看了该答案,您会读到 tableview 方法确保即使在 tableview 滚动并且单元格出现和消失时也正确呈现单元格。我建议您使用某种标记或属性设置数据源,您可以使用这些标记或属性来查看此图像是否需要存在。这样,即使您滚动单元格,它也会在那里消失并重新出现。

于 2012-01-27T21:23:19.553 回答
0

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

CV_Posts.cellForItemAtIndexPath(index)?.addSubview(imag_curtir)
于 2016-04-20T02:32:12.650 回答