通过单击单击设置背景颜色的特定框架

时间:2014-04-24 14:00:58

标签: ios objective-c uitableview

我有以下自定义单元格。左侧是蓝色标签,上面有图像,右侧是带有文字的标签。不,我想要点击它时单元格会突出显示,但只有标签后面的白色部分应该突出显示,而不是带有蓝色标签和图像的整个单元格,任何想法?

我试过这样的事情:

categorieCell.selectedBackgroundView = [[UIView alloc] initWithFrame:CGRectMake(100, 0, categorieCell.frame.size.width, categorieCell.frame.size.width)];

categorieCell.selectedBackgroundView.backgroundColor = [UIColor redColor];

enter image description here

1 个答案:

答案 0 :(得分:0)

如果您不希望单选结果被选中,请将单元格的selectionStyle属性设置为UITableViewCellSelectionStyleNone。这将在选中后禁用整个单元格的高亮显示。

在tableView中,cellForRowAtIndexPath方法应用以下代码:

[cell setSelectionStyle:UITableViewCellSelectionStyleNone];

之后,您可以在选择单元格后更改单元格背景。

在tableView didSelectRowAtIndexPath方法中:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell *categorieCell = [tableView cellForRowAtIndexPath:indexPath];    
    categorieCell.backgroundColor = [UIColor redColor];
}

在willDeselectRowAtIndexPath中取消选择单元格背景时,不要忘记更改单元格背景: