在 iOS 中实现永久动画背景的最佳技术是啥?
Posted
技术标签:
【中文标题】在 iOS 中实现永久动画背景的最佳技术是啥?【英文标题】:What is the best technique to implement a permanent animated background in iOS?在 iOS 中实现永久动画背景的最佳技术是什么? 【发布时间】:2016-11-17 13:02:36 【问题描述】:我需要添加一个背景,其中随机云来自两侧。这种效果几乎需要出现在应用程序的每个屏幕中。我尝试将animateWithDuration
与UIImageView
s 一起使用,但它会消耗大量电池,并且当我在某些带有其他额外动画的屏幕上时,这些动画看起来很生涩。
还尝试使用.gif
和视频作为背景:
Video as background
但它们太重了,因为它必须是一个长视频才能使它看起来像云以随机间隔出现。而且还消耗大量资源。
是否有其他方法可以制作这种效果,例如轻量级动画技术?
【问题讨论】:
看看this library ,它不会添加云而是添加星星 :D 你可以看看它的结构以得到一个想法 一个高性能的动画实现可以在这个答案中找到:***.com/a/21079559/763355 【参考方案1】:我想你最好的选择是在你的 UIViews 上使用 CALayer,它应该比 UIImage 解决方案更轻量级。
【讨论】:
我刚才试了一下,不幸的是,我得到了同样的结果。这个解决方案的一个问题是 CALayer 不能在屏幕外渲染(为了让云从侧面进入) 你是怎么画云的?您可以使用图像将云创建为子图层,然后移动它们。 我正在创建一个 CALayer,将其content
设置为 [UIImage imageNamed:@"cloud"].CGImage
。我也发现了这个***.com/questions/4686873/…。它说这两种方法几乎没有区别:(
没想到这么密集,您的云图像是否针对您使用的分辨率进行了优化?
就我而言,我只有 8 个云。当任何云从屏幕上消失时,它应该重新开始动画。是的,它们针对分辨率进行了优化。以上是关于在 iOS 中实现永久动画背景的最佳技术是啥?的主要内容,如果未能解决你的问题,请参考以下文章
我们如何在 iOS 11 中实现 App Store 的 Today 功能中的新推送视图控制器动画