アニメーションで画像の点滅をさせると実装を行いました。
アニメーション開始
UIView.animateWithDuration(1.0, // アニメーションの時間
delay: 0.0, // 遅延時間
options: UIViewAnimationOptions.Repeat, // 繰り返し
animations: { () -> Void in // アニメーションする処理
self.blinkView.alpha = 0.0 // alpha = 0.0 で透明に
},
completion: nil) // クロージャー内にアニメーション終了後に行う処理を記述
アニメーション停止
self.blinkView.layer.removeAllAnimations()
self.blinkView.alpha = 1.0
例:imgViewの画像Viewに対して、点滅アニメーションを実施して、1秒後に点滅を止める
// 1秒後に画像を点滅
func hogehoge() {
//点滅アニメーション
UIView.animateWithDuration(0.2,
delay: 0.0,
options: UIViewAnimationOptions.Repeat,
animations: {() -> Void in
self.imgView.alpha = 0.0},
completion: nil)
NSTimer.scheduledTimerWithTimeInterval(1.0, target:self, selector:#selector(ViewController.transition(_:)), userInfo: "", repeats: false)
}
func transition(timer: NSTimer) {
//点滅の停止処理
UIView.setAnimationBeginsFromCurrentState(true)
UIView.animateWithDuration(0.001, animations: {
self.imgView.alpha = 1.0
})
// 点滅を止めた後、次の処理を行う
goNextAction()
}
自動でアニメーションを止めるために、Timerを張って止めていますが、、、、、、、、、、
もしかしたら、Timerを使わなくてもcompletionを以下のようにすればいけるかも。。。
おそらくちゃんと調べたらできそう。要確認ですね。
completion: {(finished: Bool) -> Void in
// アニメーション終了後の処理
//self.moveView.backgroundColor = UIColor.redColor()
// これ? それとも単に、transition()内の処理をもってこればよい?
self.imgView.alpha = 1.0
})
コメント