我想在点击时更改单元格的背景和文本颜色,并为单元格保持活动状态,直到其他单元格被粘贴。这种活跃的状态将会失败。我使用Swift 3,这是我的来源:
let selectedView = UIView()
override func tableView(_ tableView: UITableView, shouldHighlightRowAt indexPath: IndexPath) -> Bool {
let cell = tableView.cellForRow(at: indexPath)
selectedView.backgroundColor = UIColor.red
cell!.selectedBackgroundView = selectedView
cell!.textLabel?.textColor = UIColor.white
return true
}
此代码有效,但不会删除活动状态
答案 0 :(得分:1)
第1名:您是否有任何理由使用单独的视图而不是仅使用cell?.backgroundColor
?
?
或使用可选绑定
第3名:您可能应该使用tableView(_:didSelectRowAt:)
,因为tableView(_:shouldHighlightRowAt:)
更适用于系统hilight。
第四:要解决您的问题,您应该指向您当前处于暮光之城的单元格。所以当你再次打电话给tableView(_:didSelectRowAt:)
时,首先要认为你能做的就是重置旧单元格的暮光。