是否有MouseChildren用于CALayer命中测试?

时间:2011-03-16 13:04:57

标签: iphone ios ipad calayer hittest

嘿。 我有一个包含4个圆圈图层的主图层,每个圆圈内都有一个文本图层:

主要图层 - > (4)圆圈层 - > (1)textLayer。

我正在主图层上执行点击测试,我想收到点击的圈子。 它工作正常,但是当我点击文本区域时,我会返回文本层而不是圆圈层。

在AS3中你有

 MouseChildren = true/false.

如何在目标c中获得此功能?

感谢

SHANI

1 个答案:

答案 0 :(得分:1)

只需使用superlayer属性,如下所示:

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

换句话说,如果您已经获得了圆形图层,则theLayer不会改变;如果它是文本子图层之一,则theLayer会更改为指向包含该子图层的图层。