2012-03-17 8 views
0

私はtouchesBeganコールバックの使用のいくつかの例を参照してください。touchBegan例から混乱

for (UITouch *touch in touches) {...} 

他の人が使用している間:

UITouch *touch = [touches anyObject]; 

ない対1のループのために必要となるときに私は理解していません。誰かが私にこれを理解させるのを助けることができるか

答えて

3

マルチタッチを有効にしなかった場合は、ワンタッチで表示されます。 [touches anyObject];を使用して、セットtouches(単一のアイテムを含む)から検索できます。

マルチタッチを有効にしている場合は、touchesに複数の項目が含まれている可能性があり、すべての項目にアクセスするにはループを使用する必要があります。

for (UITouch *touch in touches) { 
    // Your code here to handle the touch 
} 

最後に、ループを使用すると、ワンタッチでもすべての場合に機能することに注意してください。

1

ループのため、マルチタッチに使用します!

2

あなたはマルチタッチ状況で、個々のタッチを気にしている場合、タッチのコレクションをループ - すなわち、あなたはタッチのいかなるは、特定の場所を打つかどうかを知る必要がある場合:

for (UITouch *touch in touches) {...} 

タッチが発生したことだけを気にしたり、マルチタッチをサポートしていない場合は、[touches anyObject]というアプローチで問題ありません。