iOS
Swift

[iOS] UIViewをアニメーションでフェードアウトさせる

概要

数秒間だけ表示されて消えるようなViewを実装する場合、一瞬で消えるよりもフェードアウトのアニメーションをつけると、より視覚的なUXが高まります。本記事ではViewをフェードアウトさせる簡単なアニメーションを紹介します。

5秒後にViewをフェイドアウトさせるアニメーション
UIView.animate(withDuration: 0.2, delay: 5.0, options: UIViewAnimationOptions.allowUserInteraction, animations: {
    // Viewを見えなくする
    fadeoutView.alpha = 0.05
}) { (completed) in
    // Animationが完了したら親Viewから削除する
    fadeoutView.removeFromSuperview()
}

補足

alphaを完全に0にするとuser interactionが無効になりタップできなくなるので、上記の例ではあえて0.05に指定しています。特にタップ等の操作が必要のないViewに対しては、alphaを完全に0にしても良いでしょう。