背景 gif 位置过渡到其他视图控制器



所以问题是:我有一个 gif 背景,它是通过这家伙创建的扩展方法设置的 SwiftGif 链接

我使用方法背景动画.loadGif(名称:"giphy")加载当前 gif,它将 gif 解析到图像上,然后将其填充到数组上,随后调用 UIImage 类的 animatedImage 方法。

但问题是 - 我想在通过 segue 传输到下一个 ViewController 时保留循环 gif 的状态。 例如,如果我有鸟飞过屏幕中央,然后随机有人按下一个按钮转到下一个 ViewController,gif 会重置并从头开始。请帮我找到解决方案

我想到了解决方案:

  • 通过 prepareForSegue
    将帧的坐标传递到其他 ViewController 上 问题是 - myBackground.frame 始终为零坐标,所以我不知道如何获取上次停止的帧
  • 从 CGRect 初始帧位置开始 问题是 - 按下过渡按钮时无法猜测它已停止的帧的位置。
  • 为所有视图控制器制作一个 gif 背景(不知道如何实现这样的事情)

你确定你的 myBackground UIImageView 正在更改帧吗?我不这么认为。

我想你的 gif 正在改变它的关键帧。因此,您需要存储停止的关键帧的索引,并从关键帧开始您的 gif。

最新更新