0

オーバーレイ ビュー (画面全体をカバー) があり、タッチを受信できますが、レスポンダー チェーンに渡されません。

次のようにサブビューを追加します。

UIWindow *mainWindow = [[UIApplication sharedApplication] keyWindow];
[mainWindow insertSubview:self.view aboveSubview:mainWindow];

addSubview を使用するか、insertSubview を使用するかは問題ではないようです。

私の touchesBegan は次のようになります。

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{        
    //do some stuff here..
    [super touchesBegan:touches withEvent:event];
}

SUPERを使用しているか、self.nextResponderなどの他のさまざまな組み合わせを使用しているかは問題ではないようです.

最後に、画面全体を覆うオーバーレイ ビューが必要です。タッチを検出して、その下のビュー/viewControllers に渡す必要があります。

ありがとう!

4

1 に答える 1

0

あなたはmainWindowにaddViewです。スーパービューはmainWindowであり、viewBlowではありません。

ビューを VC のビューに追加する必要があります。フルスクリーンが必要な場合は。ステータスバーを非表示 (または透明、未試行) に設定し、ビューのフレームを (0, -20, 重量, 高さ + 20) に設定します。

于 2013-05-18T09:10:14.423 に答える