gpt4 book ai didi

ios - Swift - 只允许在 UITableViewCell 中选中一个复选框

转载 作者:行者123 更新时间:2023-11-28 23:23:13 24 4
gpt4 key购买 nike

我正在努力使我的 TableView 每个单元格只接受一个复选框。

我用过this solution为复选标记保存用户默认值,效果很好,但它允许多项选择。

我在 Stack overflow 上尝试了很多解决方案,但由于格式有点不同,我无法使用这些解决方案。

我尝试过但没有用的东西:

尝试在 didDeselectRowAt

将附件类型设置为无
func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {
tableView.cellForRow(at: indexPath)?.accessoryType = .none
}

尝试将 TableView 设置为不允许在 viewDidNotLoad 上进行多项选择

override func viewDidLoad()
{
tableViewName.allowsMultipleSelection = false
}

根据我链接的解决方案,我将如何只允许一个选择?

最佳答案

在您链接的解决方案中,“didSelect”函数中有这段代码

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) 
{
if selectedRows.contains(indexPath.row) {
self.selectedRows = selectedRows.filter{$0 != indexPath.row}
}else{
self.selectedRows.append(indexPath.row)
}
UserDefaults.standard.set(selectedRows, forKey: "selectedRows")
}

如果您只想选中一个复选框,那么您只需要将一个实体保存在您的 selectedRows 对象中。将上面的代码改成:

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) 
{
self.selectedRows = [indexPath.row]

UserDefaults.standard.set(selectedRows, forKey: "selectedRows")
}

然后每次选中一个复选框时,它会清除所有其他选中的复选框并仅选中您刚刚单击的复选框。

关于ios - Swift - 只允许在 UITableViewCell 中选中一个复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59325676/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com