1

CFDictionary で UITouches を追跡するためのサンプル コードを探しています。残念ながら、apple-docs には完全な例がありません。

http://developer.apple.com/library/IOs/#documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/MultitouchEvents/MultitouchEvents.html#//apple_ref/doc/uid/TP40009541-CH3-SW7

私は現在 NSMutable 配列を使用していますが、完全な UITouch オブジェクトを保存したいので、タイムスタンプも取得します。

NSMutableArray *touchArray_val;


-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
    touchArray_val = [[NSMutableArray alloc] init];             
}

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{ 

     for(UITouch *t in touches){
         CGPoint currentPoint = [t locationInView:self];
         [touchArray_val addObject:[NSValue valueWithCGPoint: currentPoint]];    
     }

}

-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{        
    NSLog(@"%i",[touchArray count]);

    for(NSValue *val in touchArray_val){        
        NSLog(@"%@",val);      
    }
}
4

1 に答える 1

1

UITouch のポインターは、タッチの有効期間にわたって変更されません。ポインターから NSValue を作成できます。

 // NSMutableDictionary * touchLookup; set up somewhere else...
 NSValue * key = [NSValue valueWithPointer:touch];
 [touchLookup setObject:touch forKey:key];
于 2012-09-24T19:21:55.117 に答える