2017-10-18 4 views
0

私はUIGestureRecognizerのすべての種類の複雑なビュー階層を持っています。UIGestureRecognizerをオーバーレイビューの背後にブロックする方法は?

私は、オーバーレイUIViewを提示し、ユーザがこのオーバーレイと相互作用した場合、私はがそのオーバーレイの下を入れ、火に任意のジェスチャー認識装置を望んでいません。現在のところ、ドラッグすると、ジェスチャ認識機能がオーバーレイビューの下で起動して起動します。

私は潜在的なスパゲッティコードにつながる解決策を避けたいと考えています(例えば、ビュー階層を反復し、ジェスチャ認識機能を無効にするなど)。

同様の質問(秒):私は考えることができる

+0

明白な疑問:たとえば

あなたが何をしようとしたのですか?検索してください、私はこれが議論されているか、ここで何回も答えられたと確信しています。 –

+0

@ meaning-matters驚くべきことに、私はこの質問に対して合理的にきれいな答えを見つけることができませんでした。私が試したものは、人気がないかもしれませんが、私は意図的に答えを偏らせないようにしました。あなたの要求の結果、私は質問空間を汚染しないように、潜在的な答えを掲示しました(再び、人気がないかもしれません、ごめんなさい!)。私はちょうど私が他のどこかできれいな答えを見つけることができなかったので、他の創造的な答えを見たいと思っています。 – kgaidis

答えて

0

唯一の種類・オブ・クリーンソリューションは、オーバーレイビューにジェスチャー認識器のすべてのタイプを追加しています彼らは下のものの代わりに解雇される。

overlayView.addGestureRecognizer(UIPanGestureRecognizer(target: nil, action: nil)) 
overlayView.addGestureRecognizer(UILongPressGestureRecognizer(target: nil, action: nil)) 
overlayView.addGestureRecognizer(UISwipeGestureRecognizer(target: nil, action: nil)) 
関連する問題