ユーザー インタラクションをオフにする方法を教えてください。ビュー階層の最上位に数秒間表示されるカスタム ビューがあります。ビューの下にはいくつかのボタンがあります。問題は、ユーザーがビューをクリックしたときにボタンがタッチ イベントをキャッチすることです。myCustomView.userInteractionEnabled = NO; を設定しました。そして、何も起こりません。ボタンは、すべて同じようにビューを介してイベントをキャッチします。タッチをインターセプトできないビューを作成する方法は?
質問する
334 次
3 に答える
0
ボタンの一般的なスーパービューでユーザー操作を無効にすることができます。
someButton.superview.userInteractionEnabled = NO;
一部のオーバーレイUIが上にあるときにUIを無効にする別の方法は、既存のビューの上ではなく、独自のウィンドウにオーバーレイを配置することです。
于 2012-04-05T07:38:45.900 に答える
0
使用する:
[[UIApplication sharedApplication] beginIgnoringInteractionEvents]
ユーザーイベントを無視するため。数秒後にビューが消えたら、次を使用できます。
[[UIApplication sharedApplication] endIgnoringInteractionEvents]
このようにして、問題を解決できます。
于 2012-04-05T07:45:21.123 に答える
0
myCustomView
ビュー階層の最上位にある場合は、他のビューを半透明に覆うオーバーレイ ビューのようなものを実装しようとしていると思います。この場合、userInteractionEnabled = NO
このビューを設定すると、タッチ イベントが下のビューに転送されます。
正しい方法はuserInteractionEnabled = YES
、カスタム ビューに設定してから、透明なボタンを作成してタッチを却下 IBAction に再ルーティングするか、それを無視することです。
于 2012-04-05T07:42:55.910 に答える