1

画面の上に UIView / UIWindow を追加しました。

UIWindow *statusBarWindow = [[UIWindow alloc] initWithFrame:[UIApplication sharedApplication].statusBarFrame];
statusBarWindow.windowLevel = UIWindowLevelStatusBar + 1;
statusBarWindow.userInteractionEnabled = NO;
[statusBarWindow makeKeyAndVisible];

ただし、これらのビューはタッチ可能であってはならず、それをタッチすると、これらの下のビューがタッチされるようにする必要があります。現在、このビューを追加しても何も起こりません。

UIView/UIWindow でタッチ イベントを処理しないようにするにはどうすればよいですか?

試してみ.userInteractionEnabled = NOましたが、うまくいきませんでした。ありがとう!

4

1 に答える 1

1

1 つの方法は、タッチに応答したくないビュー-hitTest:withEvent:に戻るようにオーバーライドすることです。NO

hitTest:withEvent:スーパービューのメソッドがビュー階層を検索し続け、その場所で次のビューを見つけるように、ウィンドウではないビューを使用するのがおそらく最善です。(Windows にはスーパービューがありません。また、イベント マネージャーが他のウィンドウで同じイベントをチェックするかどうかもわかりません。)

于 2013-07-09T21:57:27.280 に答える