【发布时间】:2019-11-18 17:38:29
【问题描述】:
我有一个 TableView 有时有足够的单元格允许我滚动表格。同时我设置了我的 didSelectRow 来切换单元格的背景颜色。似乎在选择了几个然后向下滚动后,我发现更多的单元格已超出我的控制范围。
这是我的 didSelectRowAt:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
packSizesTableView.cellForRow(at: indexPath)?.backgroundColor = UIColor.yellow
packList[indexPath.row].picked = true
pickedRows.append(indexPath)
除了更改 indexPath.row 的颜色之外,我还有其他选择表格单元格的方法吗?
【问题讨论】:
-
你应该覆盖
UITableView单元格中的setSelected(_:animated:)并在那里设置颜色。 -
您是否希望每个单元格在被选中时都改变颜色,然后从那时起保持该颜色?还值得解释一下您是如何注册/创建/重用 tableView 单元格的,因为随机着色听起来像是这个领域的一个问题。
标签: swift xcode uikit tableview