1

UITouchGestureを使用している別のビューの上にUIViewがあります。問題は、タッチイベントがバックグラウンドのUIViewだけでなく、ほとんどのフォワードUIViewでも認識されていることです。タッチイベントは、一番後ろのビューでのみ機能するようにしたいと思います。

それが理にかなっていることを願っています。

助けてくれてありがとう

4

3 に答える 3

4
view.userInteractionEnabled = NO;

ビューは最も前向きなUIviewです。

幸運を!

于 2012-04-05T11:34:25.930 に答える
3

それを行うために私が見ることができる最善の方法は、ビューでUITouchGestureを宣言することです。ビューでタッチを無効にする必要がある場合は、以下を無効にすることができます。

タップの例:

.hファイルで次のように宣言します。

UITapGestureRecognizer* tap;

そしてあなたの.mファイルで

tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];
[yourView addGestureRecognizer:tap];

また、タップを無効にする必要がある場合は、次のようにすることができます。

[tap setEnable:NO];

またはそれを削除します:

[yourView removeGestureRecognizer:tap];

これにより、有効化/無効化が簡単になり、タッチの管理も簡単になります。

参照

于 2012-04-05T11:48:19.843 に答える
1

[gesture view]が等しいかどうかを確認し[[self.view subviews] objectAtIndex:0]、アクションを実行します。

于 2012-04-05T11:44:51.523 に答える