我在 Mac OSX 10.7 Lion 中托管 Apple 的 Pitch Shift Audio Unit 插件。pitchShiftView 由 CALayers 组成:每个旋钮一个等。
使用我认为是 CALayer 的旋钮更改参数值时会出现值条,但它们不会显示在 CALayer 层次结构中。当它们应该消失时,它们会留在屏幕上,并最终导致我的应用程序因退出错误访问而崩溃。
我如何访问这些层,或者为什么它们不与层层次结构的其余部分绑定?
我在 Mac OSX 10.7 Lion 中托管 Apple 的 Pitch Shift Audio Unit 插件。pitchShiftView 由 CALayers 组成:每个旋钮一个等。
使用我认为是 CALayer 的旋钮更改参数值时会出现值条,但它们不会显示在 CALayer 层次结构中。当它们应该消失时,它们会留在屏幕上,并最终导致我的应用程序因退出错误访问而崩溃。
我如何访问这些层,或者为什么它们不与层层次结构的其余部分绑定?
它们实际上可能不是层,或者至少不是当前的层NSView
。它们可能是 NSView 的子视图,或者它们甚至可能是悬停在相关 NSView 顶部的 NSView。几乎一切皆有可能。
您想要的第一个工具是 Accessibility Inspector(在 /Developer 中)。它使您可以指向屏幕上的任何内容并找出它在可访问性层次结构中的位置,这通常与它在视图层次结构中的位置密切相关。一旦您了解了它们在视图层次结构中的位置,您就可以开始使用调试器进行挖掘,尝试了解它们在层层次结构中的位置(如果它们在层层次结构中)。请记住,在 Mac 上,CALayer
是NSView
. 所以可能没有图层。