iPhone SDKが初めてです。今は私が本当に好きなCALayersを使ってプログラミングしています - UIViewほど高価ではなく、OpenGL ESスプライトよりもはるかに少ないコードです。CALayerでタッチイベントを取得するには?
私はこの質問があります:CALayerでタッチイベントを取得することは可能ですか?は私が
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
でのUIView上のタッチイベントを取得する方法を理解するが、私は、例えば、CALayerのオブジェクトにタッチイベントを取得する方法について、どこにでも3D空間に浮かぶオレンジ色の四角形を見つけることができません。私はこれについて興味があるのは私が唯一の人だとは信じません。
ご協力いただきありがとうございます。
明快さのための注意: 1. forループは、ワンタッチであることを確認してから少し不気味です。これを行う通常の方法は、[touches anyObject]または[touches objectAtIndex:0]を使用して、タッチのポインタを作成することです。 2. convertPoint:を使用する代わりに、最初はlocationInView:に "nil"を渡します。これはウィンドウ座標系のタッチ位置を与えるので、次の行は冗長です。 – Rab
私はこれがかなり古い質問であることを知っています。しかし好奇心をそそる人のためだけに。 @Rab [touches objectAtIndex:0]を除いてほとんど正しいtouchesのセットを表すNSsetにはobjectAtIndexセレクタがありません。 –
+1良い点@EugeneProkoshev。誰かがタッチイベントをNSArrayに入れる可能性がありますが、この場合はインデックスが作成されていないNSSetがあります。説明を明確にしてくれてありがとう。 :) – Rab