SwiftUIのGestureについてまとめ

Gestureについて

SwiftUIでは、Gestureを使用することで、TapやSwipeなどを検知し、画面を更新することができます。

色々調べて実際に触ってみたところ、想像以上に強力であることが分かったため、記事として残しておきました。公式Documentはコチラです。

Gestureの種類

  • TapGesture
  • LongPressGesture
  • DragGesture
  • MagnificationGesture
  • RotationGesture

が提供されているようです。またCustomで作ることもできるようです。

GestureのCallback処理

Gestureでは以下の3つのreceiverを使うことができるようです。

  • updating(Gestureの値が更新されたときに発火:一時的なUIの状態を変更したいとき、@GestureStateを使用してGestureの状態を管理する)
  • onChange(Gestureの値が更新されたときに発火: 永続的な値を変更したいとき)
  • onEnded(Gesture終了時に発火)

three gesture composition types

  • Simultaneous
  • Sequenced
  • Exclusive

を使用して複数のGestureを管理することで、さらに複雑な操作が出来るようです。

実際に作る

実際に使われている事例があったので、本記事内ではリンクを載せておきます。

参考資料