2012-04-05 12 views
2

ユーザーの操作を無効にする手助けをしてください。 ビュー階層の最上位レベルに数秒間表示されるカスタムビューがあります。ビューの下にはいくつかのボタンがあります。問題は、ユーザーがビューをクリックしたときにボタンがタッチイベントをキャッチすることです。私はmyCustomView.userInteractionEnabled = NOを設定しました。そして何も起こらない。ボタンは、すべてのビューでイベントをキャッチします。どのようにそれを介して傍受を許可しないビューを作成するには?閲覧の問題によるユーザーのやりとり

答えて

0

myCustomViewがビュー階層の最上位にある場合は、オーバーレイビューのようなものを実装しようとしていて、他のビューを半透明にカバーしていると思います。この場合、このビューでuserInteractionEnabled = NOを設定すると、タッチイベントが下のビューに転送されます。

正しい方法は、カスタムビューでuserInteractionEnabled = YESを設定し、透明なボタンを作成してタッチを解除するIBActionにリダイレクトするか無視するかのいずれかです。

0

あなたでしボタンの一般的なスーパーにだけ無効にユーザーとの対話:

someButton.superview.userInteractionEnabled = NO; 

UIが上にいくつかのオーバーレイが上部の代わりに独自のウィンドウにオーバーレイを入れている間にUIを無効にする別の方法既存のビュー

0

使用:ユーザーイベントを無視する

[[UIApplication sharedApplication] beginIgnoringInteractionEvents]

。そして、数秒とあなたのビュー。消えるの後には、使用することができます:

[[UIApplication sharedApplication] endIgnoringInteractionEvents]

この方法で、あなたの問題を解決することができます。

関連する問題