UITouchGestureを使用している別のビューの上にUIViewがあります。問題は、タッチイベントがバックグラウンドのUIViewだけでなく、ほとんどのフォワードUIViewでも認識されていることです。タッチイベントは、一番後ろのビューでのみ機能するようにしたいと思います。
それが理にかなっていることを願っています。
助けてくれてありがとう
UITouchGestureを使用している別のビューの上にUIViewがあります。問題は、タッチイベントがバックグラウンドのUIViewだけでなく、ほとんどのフォワードUIViewでも認識されていることです。タッチイベントは、一番後ろのビューでのみ機能するようにしたいと思います。
それが理にかなっていることを願っています。
助けてくれてありがとう
view.userInteractionEnabled = NO;
ビューは最も前向きなUIviewです。
幸運を!
それを行うために私が見ることができる最善の方法は、ビューでUITouchGestureを宣言することです。ビューでタッチを無効にする必要がある場合は、以下を無効にすることができます。
タップの例:
.hファイルで次のように宣言します。
UITapGestureRecognizer* tap;
そしてあなたの.mファイルで
tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];
[yourView addGestureRecognizer:tap];
また、タップを無効にする必要がある場合は、次のようにすることができます。
[tap setEnable:NO];
またはそれを削除します:
[yourView removeGestureRecognizer:tap];
これにより、有効化/無効化が簡単になり、タッチの管理も簡単になります。
[gesture view]
が等しいかどうかを確認し[[self.view subviews] objectAtIndex:0]
、アクションを実行します。