我有一个带静态单元格的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,因为如果用户成功点击下一次披露,则第一个单元格保持选中状态(灰色)。
答案 0 :(得分:2)
将单元格的选择类型更改为xib或情节提要中的None
。或者在cellForRowAt:
中,您可以将其设置为.none
。这将阻止灰色选择状态。
如果你没有实现didSelectRow委托方法,那么单元格就没有交互。
答案 1 :(得分:0)
您只需在cell.selectionStyle = .none
中设置cellForRow:At:
。