UITableView自定义单元格选择问题

时间:2010-02-15 07:02:08

标签: iphone

我创建了一个自定义TableView单元格,其中包含一些文本和背景图像。当我选择单元格然后图像应该chnage但这不是hapening,我使用下面的代码,所以有人帮助我?

- (void)setSelected:(BOOL)selected animated:(BOOL)animated {

 [super setSelected:selected animated:animated];

 if (selected)
  [self.imgSelected setImage:[UIImage imageNamed:@"listing-gradient-hover.png"]];//Image that i want on Selection
 else
  [self.imgSelected setImage:[UIImage imageNamed:@"listing-gradient.png"]];
 //Normal image at background everytime table loads.

    // Configure the view for the selected state

}

这对我不起作用。

1 个答案:

答案 0 :(得分:4)

尝试以下方法:

在设置ypu自定义表格视图单元格时,将UIImageView初始化为背景视图,将UIImageView初始化为选定的背景视图:

self.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"listing-gradient-hover.png"]];
self.selectedBackgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"listing-gradient.png"]];
仅当选择了单元格时,

UITableViewCell才会将selectedBackgroundView属性的值添加为子视图。它将选定的背景视图作为子视图直接添加到背景视图(backgroundView)的正上方(如果它不是nil),或者在所有其他视图的后面。调用setSelected:animated:会使选定的背景视图以alpha淡入淡出显示动画。只需在选择时切换背景图像,就不需要覆盖此方法。