オーバーレイ ビュー (画面全体をカバー) があり、タッチを受信できますが、レスポンダー チェーンに渡されません。
次のようにサブビューを追加します。
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 に渡す必要があります。
ありがとう!