如何解决UITableView在滚动时重新选择行
我有一个带有静态单元格的tableView。 modalCell(请参见屏幕快照)与tableViewController
模态呈现的viewController保持联系。如果我关闭模式视图,则取消选中该单元格。但是,当我将单元格滚动出屏幕并向后滚动以使其再次出现时,再次选择了该单元格。我在一个新的示例项目中重现了这种行为。
我在ViewController
中的代码如下:
class ViewController: UITableViewController {
@IBOutlet weak var modalCell: UITableViewCell!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override func tableView(_ tableView: UITableView,didSelectRowAt indexPath: IndexPath) {
if let cell = tableView.cellForRow(at: indexPath),cell == modalCell {
modalCell.setSelected(false,animated: true)
}
}
}
在屏幕录像中,您可以看到该单元格已正确取消选择。但是,如果我滚动,则再次选择该单元格。有什么想法吗?
解决方法
只需在表格视图中取消选择单元格
override func tableView(_ tableView: UITableView,didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath,animated: true)
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。