将UITableView单元格选择样式更改为红色

时间:2011-04-07 04:17:22

标签: iphone uitableview

我需要将UITableView单元格选择样式从默认蓝色更改为红色。任何人都能帮助我吗?

4 个答案:

答案 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];

你可以尝试这样的事情