UIKeyboard の機能を損なうことなく、すべてのタッチ イベントをキャプチャしようとしています。私はもう試した:
- ヒットテスト:
- UIGestureRecognizer
- 上部に UIWindow を追加し、イベントを次のレスポンダーに渡す
ただし、これらのどれも機能しませんでした。
また、UIKeyboard をサブクラス化することは許可されていないようです。
うまくいきそうな方法を思いつきますか?
ありがとう、
ピーク
アップデート:
問題を単純化しましょう: 特定のタッチ イベントを次のレスポンダーに渡す UIView または UIWindow を追加するにはどうすればよいですか ( userInteractionEnabledを NO に設定するのと同じように)。
これが私のコードです(もちろん動作しません...):
- (void)sendEvent:(UIEvent *)event {
NSLog(@"%@",event);
//if ([self eventIsNoteworthy:event]) [self extraEventHandling:event];
[super sendEvent:event]; // Apple says you must always call this!
}
-(UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
CGPoint hitPoint = [underneathButton convertPoint:point fromView:self];
if ([underneathButton pointInside:hitPoint withEvent:event]) return underneathButton;
NSLog(@"Called");
return [super hitTest:point withEvent:event];
//return mainWindow;
}
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
NSLog(@"Start");
[self.nextResponder touchesBegan:touches withEvent:event];
}