5
5

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】SFSymbolsのアニメーションはSFSymbolsアプリを活用しよう

Posted at

はじめに

iOS17からsymbolEffectを使用してSFSymbolsにアニメーションをつけることができるようになりました。
しかし、指定の方法が結構難しいです。

.symbolEffect(.pulse.wholeSymbol)

こんな感じで、連なって指定しなければいけないので、いろんなパターンがあり、ビルドして確認するのは大変です。

そんな問題を解決するのが、SFSymbolsのアプリです。
ボタンでポチポチ設定していくだけで、.pulse.wholeSymbolここの部分を生成してくれます。

やりかた

① 使用したいSymbolを選択します。
スクリーンショット 2024-02-04 22.15.30.png

② セグメントコントロールで再生ボタンを選択します。
スクリーンショット 2024-02-04 22.19.03.png

③ アニメーションの形式と詳細を設定します。
(「プレビュー」ボタンを押すとアニメーションが再生されるので、確認することができます。)
スクリーンショット 2024-02-04 22.20.22.png

④ コピーアイコンを押すとメニューが出てきます。
⑤ 「Swift用の構成をコピー」を選択します。
スクリーンショット 2024-02-04 22.32.28.png

⑥ 先ほどコピーした構成をsymbolEffectの中にペーストします。

import SwiftUI

struct ContentView: View {
    @State private var trigger = false
    
    var body: some View {
        Image(systemName: "cloud.sun.rain.fill")
            .font(.system(size: 100))
+           .symbolEffect(.bounce.down.byLayer, value: trigger)
            .onTapGesture {
                trigger.toggle()
            }
    }
}

思った通りのアニメーションになりました!
Simulator Screen Recording - iPhone 15 - 2024-02-04 at 22.35.51.gif

おわり

SFSymbolsのアプリをいじっていたらたまたま見つけました。
今までSymbol名のコピーだけにしか使えないと思ってました。

公式ドキュメント

5
5
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
5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?