【Swift】画像を変更する際にアニメーションする(フェードアウト・フェードイン)

【Swift】画像を変更する際にアニメーションする(フェードアウト・フェードイン)

実行環境

Swift5.6.1
Xcode14.0
macOS12.6

内容

ImageViewの画像を新しい画像に置き換えた際に、
フェードアウト・フェードインするアニメーションを実装してみました。

実装

新しい画像を置き換えたい際に、
下のメソッドを呼び出すことでフェードアウト・フェードインします。

func animateImageView(toImage: UIImage?) {
    if self.checkImage != toImage {
        CATransaction.begin()

        // 0.1秒間のアニメーション
        CATransaction.setAnimationDuration(0.1)

        let transition = CATransition()
        transition.type = CATransitionType.fade
        image.layer.add(transition, forKey: kCATransition)

        // checkImageはプロパティで勝手に宣言したUIImageView
        checkImage.image = toImage
        CATransaction.commit()
    }
}

まとめ

ということで、本記事は画像を変更する際にアニメーションする方法をまとめました。
アドバイスや改善などあれば本記事の最後のコメント欄からお願いします。
最後まで読んでいただきありがとうございました!

作業効率がグッと上がるPC道具

間違いなしのSwift書籍2冊



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です