当你点击UITableView中的一行时,该行会高亮显示并被选中。是否有可能禁用这个,所以点击一行什么都不做?


当前回答

编辑:对于更新的Swift,它被更改为:

cell.selectionStyle = .none

更多信息请看这个: https://developer.apple.com/documentation/uikit/uitableviewcell/selectionstyle

如果有人需要斯威夫特的答案:

cell.selectionStyle = .None

其他回答

非常简单。在返回tableview单元格之前,使用表格视图单元格的style属性。

只需在返回表视图单元格之前编写这行代码 细胞。selectionStyle = .none

试着输入:

cell.selected = NO;

它将在需要时取消选择您的行。

在Swift3中…

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    let r = indexPath.row
    print("clicked .. \(r)")
    tableView.cellForRow(at: indexPath)?.setSelected(false, animated: true)
}

禁用UItableviewcell的高亮显示

cell.selectionStyle = UITableViewCellSelectionStyleNone;

并且不应该允许用户与单元格交互。

cell.userInteractionEnabled = NO;

我正在用这个,它对我很有用。

cell?.selectionStyle = UITableViewCellSelectionStyle.None

至少从iOS 6开始,你可以覆盖自定义单元格中的方法来阻止蓝色高亮。没有其他交互被禁用或影响。所有三个都必须被覆盖。

- (void) setHighlighted:(BOOL)highlighted
{
}

- (void) setHighlighted:(BOOL)highlighted animated:(BOOL)animated
{
}

- (void) setSelected:(BOOL)selected animated:(BOOL)animated
{
}