0
在響應用戶事件,我想:下一次NSView -layout發生後,我該怎麼做?
- 添加一個新的NSView的窗口,然後
- 表現出NSPanel定位只是視圖下方
我各佔一半這樣做。我可以添加一個新的子視圖,容器視圖的-updateConstraints
標識它並添加正確的佈局約束,以便下次執行佈局時,它將正確定位在窗口中。另外,我有一個將面板放在屏幕上的NSWindowController子類。
不幸的是,有一個訂購問題。我的面板的控制器只是看着新的NSView的frame
屬性來決定放置在哪裏,但在主循環的迭代過程中,-layout
方法還沒有被調用,所以它仍然位於(0,0)。
(如果我這兩個的功能件分開,並且需要爲「添加視圖」和「創建面板」兩個單獨的用戶事件,則該面板被正確地定位在所述視圖的下面。)
有一種方法將NSPanel附加到NSView,就好像使用佈局約束?或者有沒有辦法說「做這個(窗口控制器的東西),但只有在下一個-layout
調用」?
完美!謝謝! – user3277676
是的,我一直在考慮NSPopOver的' - showRelativeToRect:ofView:preferredEdge:'方法。過去我使用過NSPopOver,但在這個特殊情況下我不需要使用語音泡泡三角。 – user3277676