【发布时间】:2019-04-23 12:16:08
【问题描述】:
我正在尝试在 iOS 中创建一个搜索栏,并将其设置到过滤结果的位置,然后当您单击它时,它会显示一个复选标记。当我删除搜索文本时,复选标记消失并出现整页单元格,但我在搜索中选择的单元格未选择复选标记。这是通过 setSelected 方法在我的单元格中实现的:
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
if selected {
accessoryType = .checkmark
} else {
accessoryType = .none
}
}
我在 cellForRowAt 和 didSelectRowAt 方法中没有任何带有复选标记的逻辑。
有人可以帮我吗?
【问题讨论】:
-
表格视图有两个数组吗?
-
@ZeeshanAhmed 不,只有一个
-
你能显示 cellForRowAt 的代码吗?如果您以正常方式重用表格单元格,则不能使用单元格本身来跟踪选定状态等内容。屏幕外的单元格将不复存在,并可能被重新用于显示其他数据。您确实需要保留一个单独的表来为您的数据建模。从 ceelForRowAt 中的表中设置选中状态
标签: swift tableview uisearchbar checkmark