在 UITableView 中,当点击并按住一个单元格并(不释放此单元格)切换到选项卡栏中的另一个屏幕并返回到初始屏幕时,该单元格保持突出显示(未选中),如果点击另一个单元格,则第一个单元格一个被选中。
点击并按住第一个单元格后,将为第一个单元格调用 tableView(_ tableView: UITableView, didHighlightRowAt indexPath: IndexPath)
。到目前为止,它应该是这样的。
点击另一个单元格时(返回屏幕后),第一个单元格将调用 tableView(_ tableView: UITableView, didUnhighlightRowAt indexPath: IndexPath)
细胞。然后是选择第一个单元格的所有方法。
有办法消除这种行为吗?返回屏幕后没有突出显示的单元格。
cell.setHighlighted(false,animated: false)
不起作用。是的,它删除了突出显示,但再次为第一个单元格调用选择方法。
最佳答案
您是否尝试过实现 shouldHighlightRowAt
并返回 false
?
来自docs对于tableView(_:shouldHighlightRowAt:)
:
Asks the delegate if the specified row should be highlighted.
关于ios - 返回屏幕后释放 UITableViewCell 的突出显示状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59197207/