所以问题是:我有一个 gif 背景,它是通过这家伙创建的扩展方法设置的 SwiftGif 链接
我使用方法背景动画.loadGif(名称:"giphy")加载当前 gif,它将 gif 解析到图像上,然后将其填充到数组上,随后调用 UIImage 类的 animatedImage 方法。
但问题是 - 我想在通过 segue 传输到下一个 ViewController 时保留循环 gif 的状态。 例如,如果我有鸟飞过屏幕中央,然后随机有人按下一个按钮转到下一个 ViewController,gif 会重置并从头开始。请帮我找到解决方案
我想到了解决方案:
- 通过 prepareForSegue
将帧的坐标传递到其他 ViewController 上 问题是 - myBackground.frame 始终为零坐标,所以我不知道如何获取上次停止的帧 - 从 CGRect 初始帧位置开始 问题是 - 按下过渡按钮时无法猜测它已停止的帧的位置。
- 为所有视图控制器制作一个 gif 背景(不知道如何实现这样的事情)
你确定你的 myBackground UIImageView 正在更改帧吗?我不这么认为。
我想你的 gif 正在改变它的关键帧。因此,您需要存储停止的关键帧的索引,并从关键帧开始您的 gif。