Swiftで画像を点滅させる方法2
年が明けてからだいぶ空いてしまいましたが、本年もよろしくお願いします。
前回の記事(相当前ですが・・・笑)で書いた画像を点滅させる方法ですが、その後UIBView.animateの引数にoptionsがあり、sが付いているので複数指定できるじゃん!と気付き、修正しました。 サンプルコードはUIImageViewですが、UIButton等でも同じようにいけるはずです。
class ViewController: UIViewController { @IBOutlet weak var imageView: UIImageView! override func viewDidLoad() { super.viewDidLoad() // アニメーションの開始 self.startAnimation() } private func startAnimation() { // 2秒かけて透明にし、完了したら2秒かけて元に戻す。 UIView.animate(withDuration: 2.0, delay: 0.0, options: [.repeat,.autoreverse], animations: { _ in self.imageView.alpha = 0.0 }, completion: nil) } @IBAction func pushStopButton(_ sender: AnyObject) { // ボタンが押されたらアニメーションを停止する。 imageView.layer.removeAllAnimations() } }
以前のコードよりだいぶスッキリ書けたと思います! やっぱコードは読みやすいのが一番ですよね。 同じような悩みに直面した方の助けになれば幸いです。