我很好奇是否有人可以帮助我构思出最佳、最有效的方法来实现将视频/图像序列叠加在 View 之上的效果。最好的例子是 iOS 上的普通天气应用程序。截图;
你可以看看动画here .我做了一些测试,发现最简单的方法是在 After Effects 中创建带有 alpha channel 的图形,然后导出为 .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()
我一直面临的问题是,对于一个五秒的动画循环,我正在查看 150 帧的内容。以 @3x 和 @2x 分辨率创建这些图形,即使应用程序变薄,也会使我的应用程序包变得庞大。此外,更重要的是,向数组附加 150 张图像似乎会在播放内容时造成相当大的延迟。
如果我要构建一个天气应用程序,就像上面的例子一样,我也会查看几十种不同的天气状况,并且需要数百个单独的帧。
有没有更好的方法来解决这个问题?谢谢!
最佳答案
我会尝试使用带有 .mp4 的 AVPlayer。低对比度视频(如天气应用)将有助于缩小尺寸并将影响降到最低。
关于ios - 在 IOS (Swift) 中覆盖 Alpha 图形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35344606/