Ios 返回时自定义tableview单元格未取消选择?

Ios 返回时自定义tableview单元格未取消选择?,ios,swift,xcode,tableview,Ios,Swift,Xcode,Tableview,我创建了一个自定义表视图单元格。当用户按下单元格时,我添加了一个黑色透明覆盖图像。但是,当您返回到tableview时,该单元格仍然处于选中状态,效果非常好。这是我的密码 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { let selectedCell: PackCell = tableView.cellForRow(at: indexPath)! as! PackCell

我创建了一个自定义表视图单元格。当用户按下单元格时,我添加了一个黑色透明覆盖图像。但是,当您返回到tableview时,该单元格仍然处于选中状态,效果非常好。这是我的密码

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

    let selectedCell: PackCell = tableView.cellForRow(at: indexPath)! as! PackCell
    selectedCell.highlightImage.isHidden = false

    performSegue(withIdentifier: segueIdentifiers[indexPath.row], sender: self)

    tableView.deselectRow(at: indexPath, animated: true)

}

也许你回来的时候也应该隐藏你的highlightImage

selectedCell.highlightImage.isHidden = true

也许你回来的时候也应该隐藏你的highlightImage

selectedCell.highlightImage.isHidden = true

highlightImage
是您的自定义叠加吗?@KarloA.López是
highlightImage
是您的自定义叠加吗?@KarloA.López是我的cellForRowAt函数中有这个。我应该把它放在别的地方吗?然后你可以试试tableView。当你回来的时候,视图中的reloadData()会出现。这将更新您的tableview并调用CellForRow,这样就可以了!还有一个问题(将当前问题标记为已回答)。实际上,我把这段代码放在了didHighlightRowAt中,这样它只会在高亮显示时出现。但是,当我按住一个单元格并开始滚动,然后放开时,它不会执行该顺序,只会突出显示该单元格。有解决方法吗?当您触摸手机并按住时,它将调用didHighlightRowAt,而不是didSelectRowAt。所以,这就是为什么你看到你的单元格高亮显示,但它不执行segue。您可能希望在didUnhighlightRowAt中隐藏高亮显示图像。希望这能回答您的问题。它执行顺序,但前提是当单元格高亮显示时我不滚动。我的cellForRowAt函数中有这个。我应该把它放在别的地方吗?然后你可以试试tableView。当你回来的时候,视图中的reloadData()会出现。这将更新您的tableview并调用CellForRow,这样就可以了!还有一个问题(将当前问题标记为已回答)。实际上,我把这段代码放在了didHighlightRowAt中,这样它只会在高亮显示时出现。但是,当我按住一个单元格并开始滚动,然后放开时,它不会执行该顺序,只会突出显示该单元格。有解决方法吗?当您触摸手机并按住时,它将调用didHighlightRowAt,而不是didSelectRowAt。所以,这就是为什么你看到你的单元格高亮显示,但它不执行segue。您可能希望在didUnhighlightRowAt中隐藏高亮显示图像。希望这能回答你的问题。它执行顺序,但前提是当单元格高亮显示时我不滚动。