这是我的主屏幕,当单击突出显示的单元格说明转到下一个视图控制器并且突出显示单元格时,当我单击未突出显示的单元格从而未突出显示单元格时,这意味着仅零索引单元格突出显示了一个另一个像一个索引,第二个索引如何突出显示其他索引。
我试图像这样在表视图中添加突出显示单元格:
但是在我的代码中,仅突出显示第一个单元格意味着索引为零
在第二个单元格上单击时,第二个单元格未突出显示
如何突出显示所选单元格?
这是我突出显示代码的功能:
func setHighlighted(_ highlighted: Bool,animated: Bool){
if commentView != nil{
UIView.animate(withDuration: 3, animations: {
self.commentView.backgroundColor = UIColor(displayP3Red: 235/256, green: 187/256, blue: 194/256, alpha: 1.0)
}) { (completed) in
if completed {
UIView.animate(withDuration: 3, animations: {
self.commentView.backgroundColor = .clear
})
}
}
}
答案 0 :(得分:0)
删除setHighlighted
下设置背景颜色的代码。
这不是正确的更新方式,您可以在setSelected
UITableVIewCell
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: true)
if selected {
// set selected color
} else {
// set un-selected color
}
}
或遵循方法
允许通过情节提要或通过代码选择多行
tableView.allowsMultipleSelection = true
let selectedBackgroundView = UIView(frame: CGRect.zero)
cell.selectedBackgroundView = selectedBackgroundView
OR
cell.multipleSelectionBackgroundView = selectedBackgroundView
答案 1 :(得分:0)
Xcode 10 Swift4
实施以下方法:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
UIView.animate(withDuration: 3, animations: {
tableView.backgroundColor = UIColor(displayP3Red: 235/256, green: 187/256, blue: 194/256, alpha: 1.0)
}) { (completed) in
if completed {
UIView.animate(withDuration: 3, animations: {
tableView.backgroundColor = .clear
tableView.deselectRow(at: indexPath, animated: true)
})
}
}
}