ios - 返回屏幕后释放 UITableViewCell 的突出显示状态

标签 ios swift uitableview uikit

在 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/

相关文章:

swift - 是否可以从 Any 类型中获取他的 UnsafeRawPointer 和长度?

swift - 为什么通用函数在转换为相同类型时会崩溃?

iphone - 如何将 2 个对象添加到 tableview 单元格中

ios - UITableViewCell 标题的背景颜色

ios - 从 ViewController 访问 SceneKit-Node

ios - 当尝试从 Controller 更改该单元格中的 UITextField 时,UICollectionView 中的单元格返回 nil

ios - 为什么 tableview 在 iOS 6+ 模拟器上工作正常,但在 iOS 5 模拟器上它崩溃了

ios - 是否可以为不同的尺寸类别设置不同的表格 View 单元格行高?

ios - 用于 swift 的 sqlite 不稳定

ios - 带有数组的类方法……?