【问题标题】:Releasing highlighted state for UITableViewCell after returning to the screen返回屏幕后释放 UITableViewCell 的高亮状态
【发布时间】:2019-12-05 14:22:01
【问题描述】:

在 UITableView 中,当点击并按住一个单元格并(不释放此单元格)切换到选项卡栏中的另一个屏幕并返回到初始屏幕时,该单元格保持突出显示(未选中),如果点击另一个单元格,第一个一个被选中。

点击并按住第一个单元格时,会为第一个单元格调用 tableView(_ tableView: UITableView, didHighlightRowAt indexPath: IndexPath)。到目前为止,它应该是这样的。

点击另一个单元格时(返回屏幕后),第一个单元格调用tableView(_ tableView: UITableView, didUnhighlightRowAt indexPath: IndexPath)。然后是 first 单元格的所有选择方法。

有没有办法消除这种行为?并且在返回屏幕时没有突出显示的单元格。

cell.setHighlighted(false, animated: false) 不起作用。是的,它消除了突出显示,但再次为 first 单元格调用选择方法。

【问题讨论】:

  • 您可以使用委托通知前一个屏幕从其他屏幕重新加载表。
  • 通过重新加载第一个单元格来解决,但这是非常不吸引人的解决方案。

标签: ios swift uitableview uikit


【解决方案1】:

您是否尝试过实现shouldHighlightRowAt 并返回false

docstableView(_:shouldHighlightRowAt:)

询问代理是否应突出显示指定的行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 2012-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-24
    相关资源
    最近更新 更多