2012-07-02 44 views

回答

0

您至少需要一個NSWindow的子類,以便您可以使用NSBorderlessWindowMask構造它。這完全消除了幀。

實現具有非矩形形狀的自定義窗口的錯覺的最簡單方法是使默認的「方形」窗口完全不可見,並在NSView中執行自定義渲染。由於NSColor有一個alpha通道,因此發送setBackgroundColor:[NSColor clearColor]NSWindow就足以清除它;還請致電setOpaque:NO通知窗口服務器該窗口可以顯示後面的像素。

您的NSView子類需要drawRect:來渲染其餘。使用4弧形的路徑可以實現圓角矩形。灰色半透明背景可以以與清晰顏色類似的方式實現;只需使用(例如)0.65的阿爾法值以及顏色值。

+0

但是我想在應用程序完成啓動時像Xcode一樣啓動時添加此窗口(請參閱附加的圖像),並使該窗口在我的應用程序窗口中可見。我怎樣才能做到這一點? – user1295948

+0

我知道如何創建一個半透明窗口,但我不知道如何在應用程序窗口上添加此窗口,當應用程序完成啓動。請幫我 – user1295948

+0

它可能是窗口的「級別」。在你的透明窗口上嘗試'[window setLevel:NSNormalWindowLevel]',使它和文檔窗口放在同一個平面上;然後使用'[window orderFront:nil]'將窗口放在其他窗口的平面之前。 –

相關問題