🍉

SwiftUI.DragGestureについて

2024/02/06に公開

走り書きのメモとして残しておきます

環境

  • Xcode 15.2
  • iOS 17.0

minimumDistanceが0だと

  • タップしただけでonChangedが動作してしまう
    • タップイベントを取りたくないなら
      • minimumDistanceは0より大きい方がいい
DragGesture(minimumDistance: 0)
    .onChanged { value in
        print("ここがタップだけで動くよ")
    }

DragGestureを設定したView内部にButtonがあると

  • ジェスチャーの後にButtonのアクションが発動してしまう
    • .onTapGestureにすると
      • ジェスチャーが動いたらtap判定はしなくなる
DragGestureCView {
    Button {
        print("Drag後にここが動くよ")
    }, label: {
        CustomView()
    }
}

Discussion