2012-04-18 96 views
0

那麼,它可能很難形容,但我想這一點:顯示進度條在桌面(透明窗口) - 可可

當應用程序大火了,我想它加載了幾個組件,我想顯示進度條加載至100%完成。但爲了界面的緣故,我只想在桌面上放置進度條。我不想要窗口控件或背景。我的自定義進度條應顯示在桌面上,最高可達100%,然後顯示窗口,從而顯示整個應用程序。

只要提一下,我想在Mac應用程序正在開發的Xcode。

回答

4

我強烈建議你考慮一下你正在考慮的視覺效果和你正在做的假設。我認爲這是「糟糕的設計」:

  1. 用戶可把任何作爲桌面圖片。如果我的背景恰好是藍色的......並且您的自定義進度條是藍色的......那麼我不會看到進度條,並且會留下奇怪的原因,爲什麼您的應用程序沒有響應。 「擰這個程序,它會在我啓動時掛起,刪除!」
  2. 有可能用戶有多個應用程序在運行。您的「浮動進度欄」將在其他應用程序窗口的大海中丟失。 (爲什麼iTunes正在加載一些東西?哦,等待!!這是另一個無窗口的東西...... 「不直觀!不酷」
  3. 這不是Mac很像。不要忘記,每個平臺都有關於如何成爲一個好公民的規則。 Metro應用程序需要遵循特定的接口範例。同樣,有一件事要說「Mac-like」,我認爲這種行爲不是(浮動進度條)。

我會強烈建議您堅持正確命名的模態窗口中的進度條。應用程序進入和退出最前端......因此瞭解進度條與什麼關係也很重要。

如果你認爲所有的這些,以下問題應該可以幫助您開始: How to make an NSView transparent and show what's under the NSWindow?

+0

那麼,你有一些我並不十分注意的有效和重要的觀點。謝謝(你的)信息。我可能會考慮將它放在帶有應用程序標題的HUD面板中。這應該工作。 謝謝Qwerty Bob。乾杯! – proctr 2012-04-19 07:07:10

0

您可能正在談論無邊界NSWindowNSBorderlessWindowMask),其背景視圖的透明度設置爲零,子視圖用於顯示進度。您也可能想要使用-[NSWindow center]方法來很好地將窗口居中。

但是,我懷疑你想要那種UI。進度條可能在所有桌面上都不可見,因此在美學上毫無價值。

我認爲一個圓形的半透明黑色窗口將更適合您的情況。看看Matt Gemmell's source code

+0

是的,你說得對。從界面的角度來看,這不是一個好主意。正如Qwerty Bob上面提到的那樣,我需要考慮一些問題。 NSBorderLessWindowMask稍後可以在我的項目中使用。所以謝謝你的信息。乾杯! – proctr 2012-04-19 07:09:15