0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【SwiftUI】で動くグラデーション背景を実装してみた

Posted at

📝記事本文
SwiftUIでアプリの背景を少し動かしたいときに、LinearGradient(線形グラデーション)とアニメーションを組み合わせると簡単に実現できます。
今回は「ゆっくり色が動くグラデーション背景」を実装してみました。

🎨 コード全体
スクリーンショット 0007-10-22 22.26.21.png

💡ポイント解説
🌀 1. @Stateで状態を管理
animateGradient という真偽値を用意して、
true ⇔ false が切り替わることでグラデーションの開始位置と終了位置を入れ替えています。
スクリーンショット 0007-10-22 22.34.46.png

🌈 2. LinearGradientで背景を作成
colorsに複数の色を指定し、startPointとendPointで方向を制御します。
今回は 青→黒のグラデーション がゆっくり動くようにしました。

⏱️ 3. .animationでゆっくり動かす
5秒間でゆっくり移動するように easeInOut(duration: 5) を指定し、
repeatForever(autoreverses: true) で往復アニメーションを繰り返します。
スクリーンショット 0007-10-22 22.35.19.png

🚀 4. .onAppearでアニメーションを開始
ビューが表示されたタイミングで animateGradient = true に変更することで、
アニメーションが自動的にスタートします。

🌌 完成イメージ
完成すると、背景がゆっくりと色を変えながら動く幻想的なアニメーションになります。
※動画がアップできなかったのでスクショになります。これが斜め方向に動きます。
Simulator Screenshot - iPhone 16 - 2025-10-22 at 22.38.04.png

✨まとめ
SwiftUIでは数行のコードでアニメーション付きの背景を作ることができます。
複雑なUIViewアニメーションを書かなくても、
状態変化と .animation() の組み合わせだけで実現できるのが魅力です。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?