试图了解如何在Swift 2.0

时间:2016-04-21 05:48:46

标签: ios swift animation uiimageview

我正在尝试基于数字动画绘制的手势构建应用。我在透明层上制作了三组图像序列。我想要在应用程序打开时加载一个图像序列,并且当图像序列完成时,我希望它保持在最终帧并触发另一个随机图像序列。我对编程很新,并且已经在UIImageView中查看了使用图像序列创建动画的教程,但它们要么用Obj C编写,要么用Swift 1编写,而我在Swift 2.0中工作。我还无法在Swift 2.0中成功加载一个图像序列。

我是否朝错误的方向看?我应该看看Swift 2.0的不同部分吗?或者有关于此的教程,我还没有找到它们吗?任何对正确方向的帮助都会非常感激。

1 个答案:

答案 0 :(得分:1)

您可以在UIImage上准备一个数组。 UIImageView有一个名为" animationImages"的属性。你可以像这样使用它:

var animationImages:[UIImage] = [UIImage(named: "image1")!, UIImage(named: "image2")!, UIImage(named: "image3")!];
imageView.animationImages = animationImages;
imageView.animationDuration = NSTimeInterval(animationDuration);
imageView.startAnimating();

你可以设置一个名为" animationRepeatCount"的属性。无论你喜欢什么。 0(零)用于无限循环。

现在你知道了动画持续时间和动画重复次数。您可以轻松计算动画的总时间:

var animationCompleteDelay = animationDuration * imageView.animationRepeatCount;

然后安排计时器在这个总动画时间之后开火。

var timer = NSTimer.scheduledTimerWithTimeInterval(animationCompleteDelay, target: self, selector: "animationCompleteHandler:", userInfo: nil, repeats: false);