iOS - 动画背景图片 (GIF)

iOS - Animated background image (GIF)

我目前正在开发天气应用程序。

现在我刚刚在主页上实现了静态背景图片,它会根据当前天气而变化。

我想改进此功能以提供更好的用户体验。

我认为随着技术、硬件、wifi 甚至框架和开发工具的快速发展,我们每天都能够制作出越来越棒的应用程序。

这就是为什么我真的很想了解改进我的应用程序的不同方法。

此外,我认为 proper/coolest 将我的应用程序与天气应用程序市场区分开来的方法是具有独特的功能,或者至少比其他人 "more enjoyable"。

我真的不知道从哪里开始,我在 Whosebug 上阅读了 3 篇不同的关于动画背景的帖子,但都没有成功。

我想知道哪种解决方案可以更好地实现动画背景图像。

PS: 我正在开发 Objective C.

如果您有任何建议,任何信息,我都会采纳。

提前谢谢你。

有一种方法可以创建连续的动画图像。您所做的是创建一个带有特殊初始化程序的 UIImage(请参阅最后一行)。你给这个初始化器一个图像的基本名称,比如“storm”。理解就是你会有几个文件,名字叫storm1.png、storm2.png等,依次组成一个动画。您所要做的就是调用初始化程序并指定您希望每个动画帧持续多长时间,其余的都是自动的。无论您拥有多少动画帧,创建的图像视图都会继续循环。只要该图像视图可见,Apple 的代码就会保证图像会持续显示动画。一旦它到达列表的末尾(例如,如果您的动画中有 8 帧,则为 storm8),它会自动重新开始。至少在 Swift 中,你甚至不必告诉它图像的文件扩展名。

如果您希望图像覆盖视图控制器的整个背景,只需将 Interface Builder 中的 imageView 设置为固定在视图控制器主视图的左侧、右侧、顶部和底部。

以下是在您的代码中创建连续动画图像的语法:

    UIImage *image = [UIImage animatedImageNamed:@"storm.jpg" duration:0.5f];

或在Swift中:

    let imageView.image = UIImage.animatedImageNamed("storm", duration: 0.5)