我的UITableViewCells都是预先定义的“Subtitle”风格。我想将所选单元格的背景图像设置为另一张图片。我尝试了每种方法来实现这一点,并且stackoverflow上讨论的所有方法似乎都失败了。 我再次尝试了一些更简单的方法来更改selectedBackgroundView属性,例如:
cell.selectedBackgroundView = [[UIView alloc] initWithFrame:cell.bounds] ;
cell.selectedBackgroundView.backgroundColor = [UIColor yellowColor];
但它不起作用。这有什么问题?
答案 0 :(得分:17)
据我了解,您想将所选背景图像设置为您的单元格?
cell.selectedBackgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"backgroundImage.png"]];
据我所知,UITableViewCell
在选择此类常见案例后无法突出显示:
cell.selectionStyle = UITableViewCellSelectionStyleNone;
willSelectRowAtIndexPath
并返回nil
; [self.tableView setAllowsSelection:NO];
self.tableView.userInteractionEnabled = NO
;或cell.userInteractionEnabled = NO
; setSelected:animated:
或setHighlighted:animated
可能会分享您的cellForRowAtIndexPath
方法代码以调查问题
答案 1 :(得分:0)
您可以通过多种方式更改高光颜色。
更改单元格的selectionStyle
属性。如果您将其更改为UITableViewCellSelectionStyleGray
,则会显示为灰色。
您还可以在tableView:didSelectRowAtIndexPath:
//do something like this for color
cell.selectionStyle= UITableViewCellSelectionStyleGray;
// for image
cell.selectedBackgroundView=[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"imageName"]];
更改selectedBackgroundView
属性。实际上创建蓝色渐变的是一个视图。您可以创建视图并绘制您喜欢的内容,并将视图用作表格视图单元格的背景。