我创建了一个自定义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
}
这对我不起作用。
答案 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淡入淡出显示动画。只需在选择时切换背景图像,就不需要覆盖此方法。