2012-11-08 78 views
0

我在我的視圖中有多個CA層,我想獲得一個特定的層來執行它的一些任務..像動畫刪除。 我使用hitTest方法得到的是該位置的CGPoint。 現在我被困在這一點,我怎麼才能得到被挖掘的圖層的位置,所以我可以對它執行某些操作。如何在點擊時獲取圖層?

在此先感謝...

回答

1

我已經這樣做了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"); 
     } 
    } 
} 
+0

非常感謝....它的工作... – iOmi

0

調用的CALayer ::則hitTest

/*返回一個包含點 'P' 層的最遠的後裔。 *兄弟姐妹按照從上到下的順序進行搜索。 'p'在接收器最近的祖先的座標空間中定義爲 *, *不是CATransformLayer(變換層沒有可指定點的2D座標空間)。 */

  • (CALayer *)hitTest:(CGPoint)p;

例如,在託管UIView:

touchesEnded:(NSSet*)ts { 
    UITouch *touch = ts.anyObject; 
    CALayer *hit = [self.layer hitTest:touch.location]; 
} 
+0

hittest很棒.... – iOmi

相關問題