【发布时间】:2016-02-23 05:26:08
【问题描述】:
我很好奇是否有人可以帮助我构思出最佳、最有效的方法来实现视频/图像序列叠加在视图顶部的效果。最好的例子是 iOS 上的股票天气应用程序。截图;
您可以查看动画here。我做了一些测试,发现最简单的方法是在 After Effects 中使用 Alpha 通道创建我的图形,然后导出为 .png 图像序列,并使用以下代码;
// Set the animation group
myAnimation!.animationImages = [UIImage]()
for var index = 0; index < 149; index++ {
var frameName = String(format: "image_\(index)")
myAnimation!.animationImages?.append(UIImage(named: frameName)!)
}
myAnimation?.animationDuration = 5.0
myAnimation?.startAnimating()
我一直面临的问题是,对于 5 秒的动画循环,我正在查看 150 帧的内容。以@3x 和@2x 分辨率创建这些图形,即使应用程序变薄,也会使我的应用程序包变得庞大。此外,更重要的是,将 150 个图像附加到数组中似乎会在播放内容时产生相当大的延迟。
如果我要构建一个天气应用程序,就像上面的示例一样,我还要查看几十种不同的天气条件,并且需要数百个单独的帧。
有没有更好的方法来解决这个问题?谢谢!
【问题讨论】: