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 状态设置背景颜色(不是图像)