与细胞相互作用

时间:2016-10-31 07:16:54

标签: uitableview swift3

我想在点击时更改单元格的背景和文本颜色,并为单元格保持活动状态,直到其他单元格被粘贴。这种活跃的状态将会失败。我使用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
}

此代码有效,但不会删除活动状态

1 个答案:

答案 0 :(得分:1)

第1名:您是否有任何理由使用单独的视图而不是仅使用cell?.backgroundColor

第二:你不应该使用武力打开。使用?或使用可选绑定

第3名:您可能应该使用tableView(_:didSelectRowAt:),因为tableView(_:shouldHighlightRowAt:)更适用于系统hilight。

第四:要解决您的问题,您应该指向您当前处于暮光之城的单元格。所以当你再次打电话给tableView(_:didSelectRowAt:)时,首先要认为你能做的就是重置旧单元格的暮光。