选择单元格时UITableView分隔符颜色更改

时间:2016-10-19 09:02:30

标签: ios swift uitableview

我创建了一个UITableView并且分隔符出现问题。我对它进行了定制,使其看起来是灰色的,没有插入:

self.tableView.separatorInset = .zero
self.tableView.separatorColor = AppColors.separatorColor

我也试过一张图片:

self.tableView.separatorInset = .zero
tableView.separatorStyle = UITableViewCellSeparatorStyle.singleLine
tableView.separatorColor = UIColor(patternImage: #imageLiteral(resourceName: "thin_divider"))

问题:选择行时,分隔符变为白色。我玩 didSelectRowAt didDeselectRowAt didHighlightRowAt 但无事可做,选择单元格时它会保持白色。请参阅下面的示例(在此示例中选择了最后一个单元格)...

example of the problem

1 个答案:

答案 0 :(得分:2)

cellForRowAtIndexPath方法

中尝试此代码行
[cell setSelectionStyle: UITableViewCellSelectionStyleNone];

这将设置none作为选择样式(此属性的默认值为UITableViewCellSelectionStyleBlue)。

对于单元格突出显示部分,请使用didSelectRowAtIndexPath中的以下代码:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
    [cell setHighlighted: NO];
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
} 

希望这有帮助。