2014-09-30 143 views
1

創建半透明窗口的最佳方法是什麼?它具有圓角和圍繞其邊框和箭頭的輪廓,但沒有標題欄和按鈕。在Cocoa中創建半透明,圓角的邊框窗口?

當使用單擊菜單欄圖標時,窗口將從菜單欄彈出。

我期待有類似的「應用程序」和「下載」窗口效應:

enter image description here

我想我需要做繪圖自己。但是我想知道做這件事的最佳方式是什麼,以及Cocoa中是否有任何可以最大限度地減少努力的東西?或者也許是第三方項目已經做到了(找不到像這樣的東西)?

謝謝。

回答

1

您可以用NSBorderlessWindowMask風格面罩,這將給安縵窗口

- (id)initWithContentRect:(NSRect)contentRect styleMask:(NSUInteger)windowStyle backing:(NSBackingStoreType)bufferingType defer:(BOOL)deferCreation

創建你的窗口。它的Dock如何做它的機制。

請注意,您必須使用此樣式初始化,您不能更改已經初始化的Windows樣式。

通過contentView訪問器將自定義NSView與您想要的背景自定義繪圖置於窗口視圖堆棧頂部。

您可能還需要setOpaqueNO

1

你在找什麼已經做了很多。真的太多了。 您想要查看的課程如下。

NSStatusItem 這是出現在右側菜單欄的狀態欄部分。

NSMenu 如果你想從應用程序菜單中的菜單中獲得此信息,你需要在菜單中使用視圖來做一些聰明的事情。

NSWindow 正如其他海報注意到無邊框窗口是實現這一目的的一種方法。

NSPopover 這是另一種方式。結合上面的內容,一種奇特的技術是使用一個稱爲覆蓋窗口的清晰窗口,然後在點擊菜單或狀態菜單時,從清除覆蓋窗口下方的點處調用一個彈出窗口。

這應該足以讓你開始你應該看到什麼。

除此之外,請仔細閱讀Mac App Store,並查看cocoacontrols.com和GitHub。