2011-03-16 44 views
0

嘿。 我有一個包含4個圓形圖層的主圖層,每個圖層裏面都有一個文本圖層:有CALayer命中測試的MouseChildren嗎?

主圖層 - >(4)圓形圖層 - >(1)textLayer。

我在主圖層上執行命中測試,我想要接收被點擊的圓。 它工作正常,但是當我點擊文本區域時,我找回文本圖層而不是圓形圖層。

在AS3中,你有

MouseChildren = true/false. 

我怎樣才能在目標C此功能?

感謝

SHANI

回答

1

只需使用superlayer屬性,像這樣:

if([theLayer isKindOfClass:[CATextLayer class]]) 
    theLayer = theLayer.superlayer; 

換句話說,如果你已經得到了圈層,theLayer不會改變;如果它是文本子圖層之一,則theLayer將更改爲指向包含該子圖層的圖層。

+0

謝謝。那很簡單 – shannoga 2011-03-16 13:27:52