UITableViewCell 设置选中的图片

Posted

技术标签:

【中文标题】UITableViewCell 设置选中的图片【英文标题】:UITableViewCell Set Selected Image 【发布时间】:2011-02-14 04:16:26 【问题描述】:

试图弄清楚如何为tableViewCell 设置所选图像。

旧的写法是cell.selectedImage,但自 3.0 以来已被弃用。

我尝试了很多东西,但都无法做到。

谢谢! 乔什

【问题讨论】:

【参考方案1】:

根据Deprecated UITableViewCell Methods 文档,您应该使用 imageView 的 highlightImage 属性作为 selectedImage 的替代品。例如:

UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil];
cell.imageView.image = [UIImage imageNamed:@"deselected_image.png"];
cell.imageView.highlightedImage = [UIImage imageNamed:@"selected_image.png"];

【讨论】:

【参考方案2】:

您可以像下面这样设置选定的 backgroundView....

        UIImageView *selBGView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"urimage.png"]];
                cell.selectedBackgroundView = selBGView;

【讨论】:

【参考方案3】:

这不起作用,因为您可能会像这样设置正常状态图像

cell.imageView.image = ///

试一试 - 它对我非常有效!

UIImageView *selBGView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"urimage_selected.png"]];
 cell.selectedBackgroundView = selBGView;
[selBGView release];

UIImageView *BGView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"urimage.png"]];
 cell.backgroundView = BGView;
[BGView release];

【讨论】:

谢谢,它对我们有用。【参考方案4】:

试试这个...

    UIImage *bgImage = [UIImage imageNamed:@"icon_call.png"];
    UIImageView *bgImageView = [[UIImageView alloc] initWithImage:bgImage];

    [bgImageView setFrame:CGRectMake(280, 2, 30, 38)];

//Finally give this imageView to the cell

     [cell.contentView addSubview:bgImageView];

希望它能解决你的问题!

【讨论】:

太棒了!多谢,伙计。 CGRect 坐标有点偏离,但没有什么是我无法解决的。感谢您的帮助:) @Joshua Russell 为什么你不接受这个答案......它被你之前接受了......这对你没有帮助【参考方案5】:

使用这个!:

selectionBackground = [UIImage imageNamed:@"background.png"];
cell.selectedBackgroundView =[[UIImageView alloc] init];
((UIImageView *)cell.selectedBackgroundView).image = selectionBackground;

【讨论】:

以上是关于UITableViewCell 设置选中的图片的主要内容,如果未能解决你的问题,请参考以下文章

UITableViewCell 内的 UIImageViews 不会被选中

UIButton:为选中的高亮 UI 状态设置背景颜色(不是图像)

UITableViewCell未选中时如何将其背景视图设置为选中的背景?

UITableViewCell 异步图片加载布局

UITableViewCell 背景图片设置

选择时如何更改 UITableViewCell 的颜色?