저는 iPhone SDK를 처음 사용합니다. 지금은 CALayers로 프로그래밍하고 있는데, UIViews만큼 비싸지 않고 OpenGL ES 스프라이트보다 코드가 적습니다.CALayer에서 터치 이벤트를 얻는 방법?
이 질문이 있습니다. CALayer에서 터치 이벤트를받을 수 있습니까? 나는
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
와의 UIView에 터치 이벤트를 얻을하는 방법을 이해하지만, 오렌지색 사각형이 3D 공간에 떠 어디서나 예를 들면,있는 CALayer 객체에 터치 이벤트를 얻을하는 방법에 대한 찾을 수 없습니다. 나는 이것이 내가 궁금해하는 유일한 사람이라고 믿지 않는다.
감사합니다.
명확성을위한 메모 : 1. for 루프는 단 한 번의 터치 만 있었기 때문에 조금 어색합니다. 이 작업을 수행하는 일반적인 방법은 [touches anyObject] 또는 [touches objectAtIndex : 0]을 사용하여 터치 포인터를 만드는 것입니다. 2. convertPoint :를 사용하는 대신, 처음에는 locationInView :에 "nil"을 전달하십시오. 이렇게하면 창 좌표계에서 터치 위치가 지정되므로 다음 줄이 중복됩니다. – Rab
나는 이것이 꽤 오래된 질문이라는 것을 알고있다. 그러나 호기심 많은 사람들을 위해서. @Rab 거의 [touches objectAtIndex : 0]을 제외하고는 touches의 집합을 나타내는 NSset에는 objectAtIndex selector가 없습니다. –
+1 좋은 지적 @EugeneProkoshev. 누군가가 터치 이벤트를 NSArray에 넣을 수도 있지만,이 경우에는 색인화되지 않은 NSSet 만 있습니다. 설명을 명확히 해 주셔서 감사합니다. :) – Rab