我有一个UITableView,其中 UITableViewDelegate设置如下:
tableView = UITableView()
tableView.delegate = self
tableView.dataSource = self
在委托中,我实现了(以及其他)函数
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath)
我的自定义Cell继承自UITableViewCell
以这种方式覆盖setSelected
:
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
if selected {
// visual updates (with a small animation)
} else {
// visual updates
}
}
问题就是,点击单元格时,始终会调用didSelectRowAt
而不会didDeselectRowAt
,因此,单元格始终显示为已选中。我做错了什么?