これらのメソッドは、システムによって自動的に呼び出されます。それらを直接呼び出すことはありません。
あなたがすべきこと、まあそれはあなたの目標に依存します。タッチを「シミュレート」したいだけの場合は、ヘルパーメソッドを用意してください。次に、touchesXXXXにそれらを直接呼び出してもらいます。
UITouchオブジェクトを作成するためのAPIを取得していないため、それらの情報を保持したい場合は、それらをミラーリングする必要があります。何かのようなもの...
@interface MyTouch : NSObject {
UITouchPhase phase
NSUInteger tapCount
NSTimeInterval timestamp
UIView *view
UIWindow *window
CGPoint locationInView;
CGPoint locationInWindow;
@end
次に、このような方法を使用できます...
- (void)handleTouches:(NSSet*)touches {
}
touchsはMyTouchオブジェクトのセットでした。
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
// For UITouch in touches, create a MyTouch, and add it to your own
// collection of touches.
[self handleTouches:myTouches];
}
touchesXXXXメソッドごとにこれを行った場合、それぞれが処理を独自のメソッドに渡します。
これを行うことで、独自のタッチオブジェクトの作成を制御できます。任意のビューまたはパターンに合わせて構成することができます。次に、他のコードで、MyTouchオブジェクトのコレクションを作成し、それらを使用してhandleTouches:を呼び出すことができます。
touchesXXXXメソッドが特別なオブジェクトを作成し、それらをメソッドに渡す限り、システムがタッチを生成する場合でも、シミュレートする場合でも、まったく同じ動作をすることができます。
さて、あなたが得られないのは、システムイベントの自動生成です。
そのパフォーマンスに夢中になっている場合は、余分なセットやオブジェクトの作成を回避する簡単な方法がありますが、それはあなたの質問ではありません。