2016-04-21 40 views
0

我試圖建立一個基於數字動畫繪製手勢的應用程序。我在透明層上製作了三套圖像序列。我希望在應用程序打開後立即加載一個圖像序列,並在該圖像序列結束時,我希望它保留在最終幀上並觸發另一個隨機圖像序列。我對編程相當陌生,並且在UIImageView中查看了使用圖像序列創建動畫的教程,但是它們都是用Obj C或Swift 1編寫的,而我正在使用Swift 2.0。我無法在Swift 2.0中成功加載一個圖像序列。試圖找出如何在Swift 2.0中加載多個圖像序列

我看錯了方向嗎?我應該看看Swift 2.0的另一部分嗎?或者有沒有關於這方面的教程,我還沒有找到它們呢?任何幫助正確的方向將不勝感激。

+0

歡迎SO :-) 請告訴我們你已經那麼遠,嘗試和看看[如何提問](http://stackoverflow.com/help/how-to-問) – JimHawkins

回答

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); 
+0

非常感謝!這是超級有用的。我現在有一個完整的圖像序列播放,這是一個巨大的飛躍! –

+0

我一直在玩animationRepeatCount,並給它一個值1,以便它只播放一次。 我試過計時器選項,但很快意識到使用計時器將意味着圖像序列將按時間順序而不是隨機地加載。是否有可能創建一個可以由案例觸發的圖像序列數組的數組? –