我正在尝试通过hittesting识别自定义CALayer子类。 这样可以正常工作,但有一个例外:
我的自定义CALayers代表文本窗口,所有数据(内容,背景颜色,位置......)都来自NSManagedObjects(来自CoreData)。我的CALayer子类将它的相关managedObject类保存在实例变量中。 问题是:我无法访问这个ivar:
当我这样检查时:
CustomCALayer *customLayer =[self.layer.presentationLayer hitTest:mouseDownPosition];
... customLayer包含CALayer
具有的所有属性(如backgroundColor
或name
),但不包含我的managedObject ivar。
我怀疑这是因为hitTest返回CALayer
而不是我的子类。
但我怎么能解决这个问题呢?
(我还试图测试我的图层的“hitTestLayer”子图层,然后通过hitTestLayer.superlayer
获取图层。但是,superlayer
也会返回CALayer
...)< / p>
答案 0 :(得分:0)
您是否覆盖了自定义CALayer的 - hitTest方法以返回CustomCALayer而不是CALayer?