无法在另一个选择后取消选择表视图中以前以编程方式选择的行
Cannot deselect previous programmatically selected row in tableview after another selection
我在 cellForRowAt 和 exact 中都使用了初始化 table查看此代码的同一函数:
cell.accessoryType = selectedOption == indexPath.row ? .checkmark : .none
和我的 table 视图自动获得了 selectedOption 的复选标记,但是当我 select 另一个选项时,我之前设置的复选标记没有消失,之后有 2 table 上的复选标记,将 allowsMultipleSelection 设置为 false。为什么会发生这种情况以及为什么我的第一个复选标记在 selection 之后没有隐藏?
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if let cell = tableView.cellForRow(at: indexPath) {
cell.accessoryType = .checkmark
}
}
我想如果你重新加载你的 table 视图它会工作,你的代码没问题,只需在 didselect 中重新加载你的 table,
谢谢
我在 cellForRowAt 和 exact 中都使用了初始化 table查看此代码的同一函数:
cell.accessoryType = selectedOption == indexPath.row ? .checkmark : .none
和我的 table 视图自动获得了 selectedOption 的复选标记,但是当我 select 另一个选项时,我之前设置的复选标记没有消失,之后有 2 table 上的复选标记,将 allowsMultipleSelection 设置为 false。为什么会发生这种情况以及为什么我的第一个复选标记在 selection 之后没有隐藏?
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if let cell = tableView.cellForRow(at: indexPath) {
cell.accessoryType = .checkmark
}
}
我想如果你重新加载你的 table 视图它会工作,你的代码没问题,只需在 didselect 中重新加载你的 table,
谢谢