2017-03-20 17 views
0

これは私をナットにしています。 UIImageviewをアニメーション化する方法については、私が見つけたすべてのドキュメンテーションの後に2日間過ごしました。しかしUIButtonのアニメーション画像は、と表示されます(viewDidLoadで呼び出されます)。UIButtonのアニメーション画像がすばやく表示されない

最後のif文は "yes、it running"を出力します。しかし、シミュレータまたはデバイスには何も表示されません。

更新:func setImage(_ image: UIImage?, for state: UIControlState):機能を追加しました。今度は最初の画像がロードされて表示されますが、まだアニメーションは表示されません。

ボタンを別にしてみてくださいOutlet - 同じ結果... 私は本当にこだわっています。

 var Cowboy:[UIImage] = [UIImage(named: "Cowboy__000")!, UIImage(named: "Cowboy__001")!,UIImage(named: "Cowboy__002")!,UIImage(named: "Cowboy__003")!,UIImage(named: "Cowboy__004")!,UIImage(named: "Cowboy__005")!,UIImage(named: "Cowboy__006")!,UIImage(named: "Cowboy__007")!,UIImage(named: "Cowboy__008")!, UIImage(named: "Cowboy__009")!] 

     var currentAnimationImages = [UIImage] 

     for i in 0..<Cowboy.count { 

      currentAnimationImages.append(Cowboy[i]) 

     } 

     //buttons stored in outlet collection 
     print("currentAnimationImages", currentAnimationImages) //the array contains the images! 
     buttons[0].setImage(currentAnimationImages.first, for: .normal) //is shown 
     //nothing happens... 
     buttons[0].imageView!.animationImages = currentAnimationImages 
     buttons[0].imageView!.animationDuration = 0.2 
     buttons[0].imageView!.animationRepeatCount = 10 
     buttons[0].imageView!.startAnimating() 
      if buttons[0].imageView!.isAnimating == true { 
      print("yes, running") //this is printed out! 
      } else { 
      print("no, not running") 
      } 

すべてのヘルプが必要です。

+0

すべての画像であってもよいが 'IBOutletCollection buttons'さ – Vinodh

+0

同じですか?それはあなたのストーリーボードまたはxibファイルに配線されていますか? –

+0

@Vinodhこれは一緒にアニメーションを作成する一連の画像です。 – Mate

答えて

1

func setImage(_ image: UIImage?, for state: UIControlState):に電話する必要があります。画像をアニメーション化する前に表示する必要があります。例えば

buttons[0]. setImage(currentAnimationImages[0], forState: .Normal) 
// Now you can start animating 
buttons[0].imageView!.animationImages = currentAnimationImages 
buttons[0].imageView!.animationDuration = 0.2 
buttons[0].imageView!.animationRepeatCount = 10 
buttons[0].imageView!.startAnimating() 
+0

私の更新された質問をご覧ください。ありがとう – Mate

+0

'animationDuration'を1.0に増やしてみてください –

+0

ちょっと試しました。違いはありません... – Mate

関連する問題