从hitTest返回自定义CALayer子类时出现问题

时间:2010-11-17 17:43:40

标签: cocoa subclass calayer

我正在尝试通过hittesting识别自定义CALayer子类。 这样可以正常工作,但有一个例外:

我的自定义CALayers代表文本窗口,所有数据(内容,背景颜色,位置......)都来自NSManagedObjects(来自CoreData)。我的CALayer子类将它的相关managedObject类保存在实例变量中。 问题是:我无法访问这个ivar:

当我这样检查时:

CustomCALayer *customLayer =[self.layer.presentationLayer hitTest:mouseDownPosition];   

... customLayer包含CALayer具有的所有属性(如backgroundColorname),但不包含我的managedObject ivar。 我怀疑这是因为hitTest返回CALayer而不是我的子类。

但我怎么能解决这个问题呢?

(我还试图测试我的图层的“hitTestLayer”子图层,然后通过hitTestLayer.superlayer获取图层。但是,superlayer也会返回CALayer ...)< / p>

1 个答案:

答案 0 :(得分:0)

您是否覆盖了自定义CALayer的 - hitTest方法以返回CustomCALayer而不是CALayer?