2011-01-20 51 views
0

我有一個主窗口控制器是一個NSWindowController(黃金矩形)與scrollview(藍色矩形),以及由NSViewController(黃色矩形)控制的子視圖。CALayer和視圖控制器視圖重疊間歇性問題

根據用戶選擇,相應的nib文件將通過NSViewController加載到子視圖中。

不幸的是,由於設計上的限制,滾動視圖將根據用戶操作隱藏或取消隱藏。這個滾動視圖不幸必須重疊視圖。

其中一個視圖也是一個qtmovielayer,所以我有層支持主窗口控制器和所有元素。圖層後備設法讓滾動視圖出現在qtmovielayer的前面。

當它一切正常時,它看起來像左邊的圖像。但是,當我啓動應用程序的1/5時,滾動視圖出現後面的子視圖如右圖所示。我一直在努力尋找大約一週半的時間,以瞭解爲什麼會發生這種情況,而且我會因撕裂和拉扯頭髮而禿頂。

我可以在網上找到的唯一資源是設置圖層z的位置,但問題仍然存在。

如果任何人有任何想法,爲什麼會發生這種情況或如何解決這將不勝感激。 alt text

回答

1

您希望使scrollview(藍色)成爲子視圖(黃色)的子視圖。子視圖總是出現在他們父視圖的「前面」。就像家庭照片一樣,孩子們總是站在父母面前:)所以,通過發送黃金視圖到addSubview的消息,在你的viewDidLoad中使用addSubView方法,而不是隻添加藍色的主視圖。

+0

:D謝謝你的工作。 – han 2011-03-24 07:40:00