2011-08-11 27 views
2

我在Mac OSX 10.7 Lion中託管Apple的Pitch Shift Audio Unit插件。該pitchShiftView由CALayers的:每個旋鈕等如何查找所有使用nsview關聯的CALayers?

有有,我認爲是CALayers旋鈕改變參數值時出現的價值吧,但他們沒有在CALayer的層次結構顯示出來。當它們應該消失時,它們會留在屏幕上,並最終以崩潰訪問的方式崩潰我的應用程序。

我該如何獲得對這些圖層的訪問權限,或者爲什麼它們與圖層層次結構的其餘部分無關?

回答

1

它們實際上可能不是圖層,或者至少不是目前的NSView中的圖層。它們可能是NSView的子視圖,或者它們甚至可能是懸停在有問題的NSView頂部的NSView。幾乎任何事情都是可能的。

您需要的第一個工具是Accessibility Inspector(in/Developer)。它允許您指向屏幕上的任何內容,並查找它在可訪問性層次結構中的位置,這通常與視圖層次結構中的位置密切相關。一旦瞭解了它們在視圖層次結構中的位置,就可以開始深入研究調試器,試圖瞭解它們在層次結構中的位置,如果它們在層次結構中。請記住,在Mac上,CALayerNSView的可選附加項。所以可能沒有層。

+0

非常感謝Rob。輔助功能督察是一個很好的幫助。我以前沒有用過它。 – Mark

+0

他們原來是擁有音頻單元視圖的窗口的子窗口。所以你完全正確的羅布。 – Mark

+0

@Rob Napier ......如果你在CALayer的下方,或者在CALayer的中間,AXInspector是不是會閃爍,攪動,沙沙聲等等?多數民衆贊成在乍一看,當我剛剛嘗試它似乎如何......但似乎......有點......難以想象的! (不好的一種) –

相關問題