我已经按照Apple AdvancedTableViewCells中的代码进行了操作,并构建了一个带有单元格背景图像的表格视图。现在我想改变它,以便它显示我的图像的较暗版本,而不是蓝色突出显示颜色。这样做我需要遵循哪些步骤?我正在使用带有自定义NIB的UITableViewCell
子类。我的背景图片实现为cell.backgroundView
。
到目前为止,我采取的步骤是:
selectionStyle
更改为“无”UILabel
子视图中的突出显示颜色设置为浅色setSelected: animated:
我想知道接下来的步骤。
答案 0 :(得分:0)
您是否尝试替换setSelected: animated:
内的图片?
- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
[super setSelected:selected animated:animated];
if (selected) {
// replace image here
// or move a pointer from one image to another
}
}
答案 1 :(得分:0)
我找到了selectedBackgroundView
属性。我正在使用这种方法而不是setSelected: animated:
- (id)initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithCoder:aDecoder];
NSString *backgroundImagePath = [[NSBundle mainBundle] pathForResource:@"TableBackground" ofType:@"png"];
UIImage *backgroundImage = [UIImage imageWithContentsOfFile:backgroundImagePath];
self.backgroundView = [[[UIImageView alloc] initWithImage:backgroundImage] autorelease];
self.backgroundView.frame = self.bounds;
NSString *selectedBackgroundImagePath = [[NSBundle mainBundle] pathForResource:@"TableBackgroundDark" ofType:@"png"];
UIImage *selectedBackgroundImage = [UIImage imageWithContentsOfFile:selectedBackgroundImagePath];
self.selectedBackgroundView = [[[UIImageView alloc] initWithImage:selectedBackgroundImage] autorelease];
self.selectedBackgroundView.frame = self.bounds;
return self;
}
我不确定这是否是正确的方法,因为它引入了其他一些问题。有一点是单元格selectionStyle
必须是UITableViewCellSelectionStyleNone
之外的其他内容,否则它将不会显示背景图像。取消选择动画也已停止工作。我将提出一个关于这些问题的新问题。