在选择时将Subview添加到特定的uitableviewcell

发布于 2024-12-29 07:29:54 字数 457 浏览 2 评论 0原文

我有一个 tableview,我想将 imageview 添加到所选行的单元格的 contentView 中。

这是我当前的代码,当我单击任何单元格时,它只会将 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];
}

I have a tableview and I want to add an imageview to the contentView of the cell at the row it was selected in.

This is my current code and when I click any cell it only adds the imageView to the last row rather than the row I click on.

- (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];
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

写给空气的情书 2025-01-05 07:29:54

你可以这样做

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

You can do like this

[[tableView cellForRowAtIndexPath:indexPath] addSubview:playIcon];
冰雪之触 2025-01-05 07:29:54

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

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

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

First, you have not identified a cell at a particular row. Since your compiler didn't complain, I assume that cell is an ivar. It is pointing to the last cell that it was pointed to, which very well may be the last cell in the table.

You have to be careful that you don't set the content of a cell outside of the UITableview methods, including the UITableView method cellForRowAtIndexPath:`. This is described in a recent answer I provided at this link.

So if you looked at that answer, you will have read that the tableview methods make sure the cell is rendered correctly even when the tableview scrolls and cells appear and disappear. I recommend that you set up your data source with some kind of tag or property that you can use to see that this image needs to be present. That way, it will be there even if you scroll the cell so it dissappears and reappears.

人海汹涌 2025-01-05 07:29:54

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

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

work for me with UIcollectionView and UItableviewcell in Swift 2.0:

CV_Posts.cellForItemAtIndexPath(index)?.addSubview(imag_curtir)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文