【问题标题】:How to ensure UITableView header cell subview with repeating animation continues animating after a reloadData, user scroll, etc?如何确保具有重复动画的 UITableView 标题单元格子视图在重新加载数据、用户滚动等之后继续动画?
【发布时间】:2019-11-26 17:21:46
【问题描述】:

我有一个带有标题单元格的 ViewController,它运行良好,除了标题单元格中的一个视图有一个重复动画,当在视图控制器中设置特定条件时,它应该继续无休止地制作动画。我有时可以在 viewDidLoad 中成功启动动画,然后在我的处理程序中重新启动它以获取 .appDidBecomeActive 通知。但是,当用户滚动或拉动以刷新 tableview 数据时,动画会停止。我确实覆盖了 scrollViewDidEndDragging 和 scrollViewDidEndDecelerating 方法来重新启动它,但它实际上并没有可靠地重新启动动画。线索?

        UIView.animate(withDuration: 2.0,
                       delay: 0.0,
                       options: [.curveEaseInOut, .autoreverse, .repeat, .beginFromCurrentState],
                       animations: { self.headerCellAnimatedSubview?.alpha = 1.0 },
                       completion: { _ in  self.headerCellAnimatedSubview?.alpha = 0.0 }
        )

【问题讨论】:

    标签: ios swift uiviewanimation


    【解决方案1】:

    经过一些帮助,我发现将动画调用添加到 UITableViewHeaderCell 类的 didMoveToWindow 覆盖后,动画将在滚动后重新启动。然而,正如预期的那样,当应用程序从后台返回时,我还必须响应 appDidBecomeActive 通知以重新启动动画。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多