いくつかのサブビューを持つUIViewサブクラスがあり、クラスでこれらのイベントを処理したいと思います。
- touchesBegan:withEvent:
- touchesMoved:withEvent:
- touchesEnded:withEvent:
しかし、私はこれらのイベントがサブビューで呼び出されることも望んでいます。どうすればそれを達成できますか?
(私はすでにhitTestを試しましたが、touchesBeganイベントのみを取得し、メソッドでタッチは送信されません)
いくつかのサブビューを持つUIViewサブクラスがあり、クラスでこれらのイベントを処理したいと思います。
しかし、私はこれらのイベントがサブビューで呼び出されることも望んでいます。どうすればそれを達成できますか?
(私はすでにhitTestを試しましたが、touchesBeganイベントのみを取得し、メソッドでタッチは送信されません)
メインウィンドウで次のメソッドをオーバーライドすることで、なんとか解決できました。
- (void)sendEvent:(UIEvent*)anEvent
また、それが正しいイベントであるかどうかを確認します
if ([[[anEvent allTouches] anyObject] phase] == UITouchPhaseBegan)
とについても同じことを行いUITouchPhaseMoved
、UITouchPhaseEnded
カスタムコードを実行してから、[super sendEvent:anEvent];