选择单元格时如何更改蓝色突出显示颜色

时间:2013-05-22 08:35:36

标签: ios objective-c uitableview

我知道它可能是重复的,但我想知道在选择单元格时更改蓝色高亮颜色的最佳和最快方法。

诅咒,我已经尝试了(并且它有效)在选择单元格时更改背景颜色的方式(如此thread)但我不喜欢这样,我宁愿真正改变这种高亮颜色。

任何链接或想法?感谢。

5 个答案:

答案 0 :(得分:6)

在tableview的

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

创建一个uiimageview并将其背景颜色更改为所需的颜色

if (cell == nil) {
    UIImageView *bgView = [[UIImageView alloc]initWithFrame:cell.frame];
    bgView.backgroundColor = [UIColor greenColor];
    cell.selectedBackgroundView = bgView;
}

答案 1 :(得分:2)

如果使用nib创建表格视图单元格,则在单元格的属性检查器中,可以看到属性“选择”。将此设置为无。

如果您以编程方式创建,则将您的单元格设置为

yourCell.selectionStyle = UITableViewCellEditingStyleNone;

答案 2 :(得分:0)

首先,您必须创建一个具有相同大小的单元格的视图。将背景颜色应用于该视图。然后在cellForRowAtIndexpath委托方法中将视图设置为单元格的选定背景。

[cell setSelectedBackgroundView:yourView];

答案 3 :(得分:0)

在这个方法中写下这一行

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath



if (cell == nil) 
{
    cell.selectedBackgroundView.backgroundColor = [UIColor clearColor];

    UIImageView *bgView = [[UIImageView alloc]initWithFrame:cell.frame];
    bgView.backgroundColor = [UIColor redColor];

    cell.selectedBackgroundView  = bgView;
}

答案 4 :(得分:0)

您可以使用所需颜色为单元的selectedBackgroundView指定新的UIView。 Swift 3

  override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "departmentCell", for: indexPath)

        let selectedView = UIView(frame: cell.frame)
        selectedView.backgroundColor = ColorKit.cellSelectionColor
        cell.selectedBackgroundView = selectedView



        return cell
    }