내보기에서 여러 CA 레이어가 있고 특정 작업을 수행 할 특정 레이어를 얻고 싶습니다. 애니메이션을 사용하여 삭제하십시오. hitTest 메서드를 사용하면 해당 위치의 CGPoint가됩니다. 이제이 시점에서 도청 된 레이어의 위치를 얻는 방법을 알기 때문에 특정 작업을 수행 할 수 있습니다. 사전에도청시 레이어를 얻는 방법?
감사합니다 ...
내보기에서 여러 CA 레이어가 있고 특정 작업을 수행 할 특정 레이어를 얻고 싶습니다. 애니메이션을 사용하여 삭제하십시오. hitTest 메서드를 사용하면 해당 위치의 CGPoint가됩니다. 이제이 시점에서 도청 된 레이어의 위치를 얻는 방법을 알기 때문에 특정 작업을 수행 할 수 있습니다. 사전에도청시 레이어를 얻는 방법?
감사합니다 ...
나는 이것을 UIView에서했지만, CALayer에서도 똑같이 해보십시오.
for(CALayer *layer in [self.view subviews]){
if([layer class]==NSClassFromString(@"CALayer")){
if([layer hitTest: location]){
NSLog(@"you have clicked the layer in the point location");
}
}
}
통화의 CALayer :: 그러나 hitTest는
/* 포인트 'P'를 포함하는 층의 먼 후손을 돌려줍니다. * 형제는 위에서 아래 순서로 검색됩니다. 'p'는 *이 CATransformLayer가 아닌 수신기의 가장 가까운 조상의 좌표 공간에서 *으로 정의됩니다. 변환 레이어에는 점을 지정할 수있는 좌표 공간 인 2D *이 없습니다. */
호스팅의 UIView :
touchesEnded:(NSSet*)ts {
UITouch *touch = ts.anyObject;
CALayer *hit = [self.layer hitTest:touch.location];
}
hittest는 우수합니다 .... – iOmi
감사합니다. – iOmi