2012-04-05 3 views
1

私はUITouchGestureを使用している別のビューの上にUIViewを持っています。問題は、タッチイベントが最も前方のUIViewとUIViewのバックグラウンドで認識されていることです。私はタッチイベントがバックビューでのみ動作するようにしたいと思います。理にかなってUIViewタッチジェスチャーのオーバーラップを回避する方法

希望。最前方のUIViewている任意のヘルプ

答えて

3

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

たとえば水道用:

あなたの.hファイルで

あなたはそれを宣言します。

UITapGestureRecognizer* tap; 

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

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

そして、あなたはあなたが簡単なことができ、タップ無効にする必要がある場合:

[tap setEnable:NO]; 

するか、それを削除します。それに

[yourView removeGestureRecognizer:tap]; 

をあなたは/無効を有効にする必要がある場合に容易になりますし、またあなたに容易になりますあなたの接触を管理する。

Reference

4
view.userInteractionEnabled = NO; 

ビュー用

感謝。

幸運を祈る!

+0

ありがとうございます!もし私がUIButtonを配置したいのであれば、それは最も前向きなビューですか? userInteractionEnabled = NOが問題になりますか? – hanumanDev

+0

はい、それは問題になりますが、ボタンは機能しません。 – Zalykr

1

[gesture view][[self.view subviews] objectAtIndex:0]と等しいかどうかを確認して、何らかの処置を行ってください。