【发布时间】:2011-05-11 13:57:50
【问题描述】:
我正在尝试通过命中测试来识别自定义 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...)
【问题讨论】: