【问题标题】:Calling scrollToRow on UITableView doesn't work with AccessoryView在 UITableView 上调用 scrollToRow 不适用于 AccessoryView
【发布时间】:2017-09-07 23:01:53
【问题描述】:

我有一个简单的聊天界面,从服务器收到的最新消息显示为表格的最后一行,我需要滚动到这一行才能向用户显示消息。但是,我有一个用于输入新消息的 AccessoryView。

当我调用 scrollToRow(at:index) 时,屏幕滚动到最后一行,但它不会偏移内容以迎合附件视图 - 即使表格视图连接到附件视图的顶部。

任何想法如何解决这个问题?我的 accessoryView 是固定高度,所以也许我可以设置一个 tableview 偏移来覆盖它,但想要一个更优雅的解决方案。

【问题讨论】:

    标签: ios swift uitableview accessoryview


    【解决方案1】:

    找到了解决办法。如果您将 scrollToRow 调用延迟一小段时间(这比呈现附件视图所需的时间稍长),则滚动将起作用。使用 0.3 秒的值是不够的,但使用 0.6 时效果很好。

    DispatchQueue.main.asyncAfter(deadline: .now() + 0.6) {
      self.tableView?.scrollToRow(at: pathToLastRow, at: .bottom, animated: animated)
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-17
      • 1970-01-01
      • 2021-03-08
      • 1970-01-01
      • 2021-11-28
      • 1970-01-01
      • 1970-01-01
      • 2016-09-08
      相关资源
      最近更新 更多