ひとしれずひっそり

主にソフトに関することをメモしていきます。過程をそのまま書いていたりするので間違いが含まれます。鵜呑みしない様に。

Gesture: System gesture gate timed out.

DragGestureを使っていてDragせずに長い間押しているとtimed outが表示される。
何も影響はない様だが煩わしい。

DragGestureはボタンを押した時と離した時のイベントを取りたいので使っていて、Dragするる必要はない。
1 pixel でも動かせば出ない様だが、押してるだけで移動させていないので頻繁に出ている。

使っているコードはこんな感じ

                .gesture(DragGesture(minimumDistance: editable ? 0 : CGFloat.greatestFiniteMagnitude)
                    .onChanged { value in
                        if pushing == false {
                            pushing = true
                        }
                    }
                    .onEnded{ value in
                        pushing = false
                    }
                         , including: .all
                )

検索しててこちらが見つかった。

www.hackingwithswift.com

この問題の解決というわけではなく、システムのジェスチャーに優先してアプリのジェスチャーを優先させたい時に使用するということで、単なるメモだ。

システムのジェスチャーに優先してアプリのジェスチャーを優先させたいというのは、例えば上下付近のスイフト

Garage Bandの鍵盤で使われてると思われる。 下からドラックするバーがグレーになっていて、一度スイフトすると黒になり、その状態でスイフトするとアプリスイッチャーが表示される。
ただ、Garage Bandは2回スイフトしてしまうことがあるので、それでもあっあっあっあっあ〜ってなってしまうことがある。


戻って、メッセージの意味合いから、System gestureは諦めたのでアプリのジェスチャーに譲るよってことかな。