Swift-在最后一张图像出现后要停止播放动画吗?

int*_*k72 2 swift

我正在尝试快速学习动画。我爆炸了由77张图像组成的图像,但偶然发现了几个问题。

1)我试图使动画一旦出现77.png便自动停止。这是我到目前为止所拥有的。显然,它目前处于连续动画循环中。

2)动画开始需要大约1秒的延迟。但是,在动画一次后,再单击一次动画,此后即刻开始。我如何也可以立即制作第一个动画?

@IBOutlet var explosionSequence: UIImageView

var imgListArray :NSMutableArray = []

for countValue in 1...77 {
    var strImageName : String = "\(countValue).png"
    var image  = UIImage(named:strImageName)
    imgListArray .addObject(image)
}

explosionSequence.animationImages = imgListArray as [AnyObject];
explosionSequence.startAnimating()

//i want to stop animation here after all 77 .pngs have appeared
Run Code Online (Sandbox Code Playgroud)

先感谢您!!

Leo*_*bus 5

您可以使用UIImageView方法animationRepeatCount将动画循环限制为1。

默认值为0,它指定无限期重复动画:

explosionSequence.animationRepeatCount = 1
Run Code Online (Sandbox Code Playgroud)

您还可以使用animationDuration来调整动画时间。