设置UITableViewCell的选中状态

问题描述 投票:0回答:1

我正在开发我的应用程序,当单击 1 个单元格时,其背景应变为蓝色,如果单击其他单元格,前一个单元格将重置其背景颜色。 这是我的 setSelected 函数

    override func setSelected(_ selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)
        if selected {
            borderView.applyBorder(color: .darkGray, width: 1)
            borderView.backgroundColor = .blue
        } else {
            borderView.applyBorder(color: .lightGray, width: 1.0)
            borderView.backgroundColor = .white
        }
    }

但是当我测试它时,单元格将具有蓝色背景,并且如果我单击其他单元格,它们不会重置。

swift uitableview
1个回答
0
投票

扔掉您的代码,并在表视图的委托中实现表视图委托方法

tableView(_:didSelectRowAt:)
。在该方法中,更改表视图的 model 中的某些内容,以便每一行都知道它现在是否被选中,并调用表视图的
reloadData
以便它将生成新的单元格。在表格视图数据源的
tableView(_:cellForRowAt:)
中,根据该行的 model 中的信息配置所提供的请求单元格的外观。

© www.soinside.com 2019 - 2024. All rights reserved.