【问题标题】:How to restart UIRefreshControl animation?如何重启 UIRefreshControl 动画?
【发布时间】:2014-03-13 17:52:50
【问题描述】:

我在标签栏控制器中有几个表格视图。在其中一些上,我设置了 UIRefreshControl。

向下滑动开始刷新后,“微调器”动画开始。如果我选择了不同的选项卡,然后移回原来的选项卡,刷新控件仍然显示,但动画已停止。

如何重新开始这个动画?

我已尝试再次开始刷新,但没有结果。 我还检查了视图层次结构,希望找到一个 UIActivityIndi​​catorView 但只能找到一个 _UIRefreshControlModernReplicatorView 这似乎是执行动画的视图。我不知道我可以调用任何方法来重新启动动画。

【问题讨论】:

  • 刷新控制器的一个已知问题。可在 Apple 自己的软件(例如 Mail)上轻松重现。
  • 啊,谢谢@LeoNatan 我会留下这个,以防万一有解决方案可用
  • 我自己也一直在尝试破解这个。如果我有什么想法,我会告诉你的。
  • 你尝试调用[_refreshControl beginRefreshing];函数了吗?

标签: ios iphone objective-c


【解决方案1】:

我遇到了类似的问题,尽管与原始问题中描述的问题不完全相同。

问题:当我从带有刷新控件的 tableView(不是 UITableViewController)的屏幕移动到另一个屏幕时,我发现当我返回屏幕时,刷新控件的活动指示器部分正在显示(不是动画)作为表视图顶部下方的工件。

我尝试了很多想法(隐藏刷新控件,确保调用了 endRefreshing 等),直到找到真正有效的方法:

viewWillAppear(animated:) 中,添加以下内容:

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)

    tableView.refreshControl = nil
    tableView.refreshControl = refresher
}

只需添加该代码即可解决我的问题。您的里程可能会有所不同,但也许有人会发现这很有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多