如何在Disclosure Indicator上启用用户交互,但不在UITableViewCell上启用

时间:2017-09-22 12:32:46

标签: swift uitableview

我有一个带静态单元格的UITableView。我希望一些细胞能够有一个披露指标,从而转向另一种观点。

问题在于,如果用户无意中点击了单元格的主体而不是公开指示符,则单元格会改变颜色(灰色),并保持不变。

是否可以禁用单元格上的用户交互但不公开?

 override func tableView(_ tableView: UITableView, accessoryButtonTappedForRowWith indexPath: IndexPath) {
            let identifier = tableView.cellForRow(at: indexPath)?.reuseIdentifier as! String
            selectedCellIdentifier = identifier

            switch identifier {
            case "DescriptionCell":
performSegue(withIdentifier: "ShowHelpView", sender: indexPath)
...
}

我无法调用tableView.didDeselect,因为如果用户成功点击下一次披露,则第一个单元格保持选中状态(灰色)。

2 个答案:

答案 0 :(得分:2)

将单元格的选择类型更改为xib或情节提要中的None。或者在cellForRowAt:中,您可以将其设置为.none。这将阻止灰色选择状态。

如果你没有实现didSelectRow委托方法,那么单元格就没有交互。

答案 1 :(得分:0)

您只需在cell.selectionStyle = .none中设置cellForRow:At: