【发布时间】:2011-02-14 04:16:26
【问题描述】:
试图弄清楚如何为tableViewCell 设置所选图像。
旧的写法是cell.selectedImage,但自 3.0 以来已被弃用。
我尝试了很多东西,但都无法做到。
谢谢! 乔什
【问题讨论】:
标签: iphone objective-c ios uitableview
试图弄清楚如何为tableViewCell 设置所选图像。
旧的写法是cell.selectedImage,但自 3.0 以来已被弃用。
我尝试了很多东西,但都无法做到。
谢谢! 乔什
【问题讨论】:
标签: iphone objective-c ios uitableview
根据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"];
【讨论】:
您可以像下面这样设置选定的 backgroundView....
UIImageView *selBGView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"urimage.png"]];
cell.selectedBackgroundView = selBGView;
【讨论】:
这不起作用,因为您可能会像这样设置正常状态图像
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];
【讨论】:
试试这个...
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];
希望它能解决你的问题!
【讨论】:
使用这个!:
selectionBackground = [UIImage imageNamed:@"background.png"];
cell.selectedBackgroundView =[[UIImageView alloc] init];
((UIImageView *)cell.selectedBackgroundView).image = selectionBackground;
【讨论】: