SwiftUIのAnimationには easeIn
とかはあるんですが、 easeInCubic
とかがありません。
ちょっと検索してみたところ、↓が見つかりました。
しかしこれは時間に対する値を返す関数群のライブラリなので、SwiftUIの Animation
では使用できません。
SwiftUIの Animation
でカスタムイージングを実装するには timingCurve(_:_:_:_:duration:)
を使います。
https://developer.apple.com/documentation/swiftui/animation/timingcurve(_:_:_:_:duration:)
duration以外の4つのパラメータはCSSの cubic-bezier
と同じっぽいです。なので、↓のサイトを参考にイージングアニメーションを追加してみました。
使いやすいように Swift Package Manager に対応したライブラリとして公開しています。