Ios 具有单选和多选功能的uitableview
我有一个tableview,它有三个部分 第0、1节:在节中选择一行。选中的行将获得选中标记。如果选择了新行,则取消选择并取消选中旧选择 第2节:按本节中的一键可自动切换 问题是,当我按下第2节中的一行时,会出现一个复选标记,然后它会继续。我根本不想出现复选标记,但我很难找到摆脱它的方法 我在viewDidLoad中设置self.tableView.allowsMultipleSelection=true,这样我可以在每个部分中选择一行,这对于前两个部分非常有用 然后在cellForRowAt中,我为第2节第三节设置了cell.accessoryType=.none,这样我就不会在选择该节中的行时得到复选标记 但似乎不起作用Ios 具有单选和多选功能的uitableview,ios,swift,uitableview,Ios,Swift,Uitableview,我有一个tableview,它有三个部分 第0、1节:在节中选择一行。选中的行将获得选中标记。如果选择了新行,则取消选择并取消选中旧选择 第2节:按本节中的一键可自动切换 问题是,当我按下第2节中的一行时,会出现一个复选标记,然后它会继续。我根本不想出现复选标记,但我很难找到摆脱它的方法 我在viewDidLoad中设置self.tableView.allowsMultipleSelection=true,这样我可以在每个部分中选择一行,这对于前两个部分非常有用 然后在cellForRowAt中
您的类FilterTableViewCell中可能有类似的内容,也许下次只需共享更多代码:
override func setSelected(_ selected: Bool, animated: Bool) {
if selected {
self.accessoryType = .checkmark
}
else {
self.accessoryType = .none
}
}
因此,即使第3节中的行具有accessoryType=.none,当您选择它们时,该属性也会再次修改
快速解决方案是使用这些函数来处理复选标记,而不是设置选定项:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
}
func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {
}
如何设置复选标记?它位于customTableViewCell中的setSelected函数中。self.accessoryType=已选择。选中标记:。无
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
}
func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {
}