我需要将UITableView单元格选择样式从默认蓝色更改为红色。任何人都能帮助我吗?
答案 0 :(得分:11)
您不需要图像或子类化单元格。在tableView中创建单元格时,只需执行以下操作:cellForRowAtIndexPath:
cell.selectedBackgroundView = [[[UIView alloc] initWithFrame:CGRectZero] autorelease];
cell.selectedBackgroundView.backgroundColor = [UIColor redColor];
答案 1 :(得分:5)
您可以尝试按此tutorial设置单元格selectedBackgroundView.image
。这样你就可以选择创建一个漂亮的基于渐变的选择图像。
答案 2 :(得分:3)
如果你是UITableViewCell的子类,你可以通过覆盖以下方法来修改其突出显示和选择的UI行为。
- (void)setSelected:(BOOL)selected animated:(BOOL)animated;
- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated;
例如:
- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated
{
[super setHighlighted:highlighted animated:animated];
if (highlighted) {
self.backgroundColor = [UIColor redColor];
} else {
self.backgroundColor = [UIColor blackColor];
}
}
答案 3 :(得分:0)
UIImageView *selectedBackground = [[UIImageView alloc] initWithFrame:self.view.frame];
selectedBackground.backgroundColor = [UIColor redColor];
[cell setSelectedBackgroundView:selectedBackground];
你可以尝试这样的事情