iOS - 动态背景图像(GIF)

4
我目前正在开发一款天气应用程序。
目前,我在主页上只实现了静态背景图片,会根据当前天气而有所不同。
我希望改进这个功能,以提供更好的用户体验。
我认为随着技术、硬件、WiFi 甚至是框架和开发工具的迅速发展,我们每天都能做出更好的应用程序。
这就是为什么我非常有兴趣知道改进我的应用程序的不同方法。
此外,我认为将我的应用程序与天气应用程序市场区分开来的合适/最酷的方法是拥有独特的功能或至少比其他应用程序“更加愉悦”。
我真的不知道从哪里开始,我已经阅读了三篇关于动画背景的不同文章,但没有成功。
我想知道哪种解决方案更好,以便实现动画背景图像。
1. 应该像 GIF 图片一样无限播放一个短视频吗? 2. 在考虑电池消耗的情况下,我是否应该担心?即使知道天气应用程序的平均导航时间约为47秒。
PS:我正在使用 Objective C 进行开发。
如果您有任何建议或信息,请告诉我。
谢谢您的帮助。

https://dev59.com/KWkw5IYBdhLWcg3wp8Oc - Rahul
1个回答

4
有一种方法可以创建连续的动画图像。您需要使用特殊的UIImage初始化程序(请参见最后一行)来创建UIImage。您将为此初始化程序提供一个基本名称,例如“storm”。这意味着您将拥有名为storm1.png,storm2.png等的几个文件,其中连续出现的文件将构成一个动画。您只需调用初始化程序并指定每个动画帧的持续时间,所有其他操作都是自动完成的。创建的图像视图将继续循环遍历您所拥有的任何数量的动画帧。只要该图像视图可见,苹果公司的代码就会保证图像将持续动画。一旦它到达列表的末尾(例如,如果您的动画有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)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接