在我的tableView中,我希望单元格是不可选择的。
所以我在TableViewController中写道:
override func tableView(_ tableView: UITableView, willSelectRowAt indexPath: IndexPath) -> IndexPath? {
if indexPath.section == 0 {
return nil
} else {
if switchIsOn! {
return indexPath
} else {
return nil
}
}
}
当我在单元格中进行正常触摸时,它会按预期工作,但是当我将手指按住单元格时,无论如何它都会变为选中状态。如何避免这种情况?
最佳答案
当开关状态更改时,调用tableView.reloadData(),然后添加此
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
...
if indexPath.section != 0 && !switchIsOn! {
cell.selectionStyle = .none
} else {
cell.selectionStyle = .default
}
return cell
}
关于ios - Swift UITableView willSelectRowAt无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46259252/