2012-07-28 22 views
1

基本上我希望整個OS X桌面(或者理想情況下除了菜單欄之外的所有東西)能夠滑動,並在底部顯示我自己的視圖,就像Mountain Lion中的通知中心一樣(僅從底部開始),而不是從右側)。複製滑動到像山獅的通知中心一側的屏幕?

我一直在尋找一下,但是我對從哪裏開始有點不知所措。 NSScreen爲我提供了主屏幕的框架,但沒有辦法爲整個桌面(或類似的東西)獲取任何種類的NSWindow。因此,當我的視圖變得可見時,桌面本身,擴展塢和任何打開的窗口都會滑動。

幫助? :)

+0

這是公平的問,如果這是可能的,但它可能不是。這將需要一個應用程序控制該系統的方式,蘋果通常不鼓勵。 – benzado 2012-07-30 01:36:20

回答

1

我可以想出最好的想法是創建一個NSWindow這是桌面的大小(減去工具欄),再加上你的內容可以使用NSScreen來計算,就像你之前說過的那樣。接下來,您可以在窗口周圍玩耍並關閉陰影,將窗口樣式設置爲NSBorderlessWindowMask並正確設置窗口級別。您還必須將Windows背景設置爲用戶桌面壁紙。做一個非正式的方法是從/Users/<current-user>/Library/Preferences/com.apple.desktop.plist plist中讀取。之後,您可以使用[[mywindow animator] setFrame:NSMakeFrame(...)]將窗口「滑」出來,複製通知中心的外觀。即使這是有效的,你應該考慮這是否是絕對必要的。複製功能(而不是完全執行)最終可能會讓用戶感到困惑,並且通常會破壞部分Apple Human Interface Guidlines

+0

因此,取代實際的桌面?但是碼頭不會滑動,也不會打開任何窗口,桌面圖標不會在那裏。或者我誤解了你? 此外,這主要是爲了一個概念,而不是實際的生產應用程序。取決於最終結果如何,以及解決方案的駭人聽聞。 – 2012-07-28 02:24:26

+0

哦,對不起,我忘了碼頭應該移動。無論如何我無法真正看到創造這種效果,因爲碼頭工作起來會很棘手。你*可能*能夠做一些瘋狂的屏幕截圖動畫來模擬碼頭移動。 – nosedive25 2012-07-30 20:26:55

+0

@ nosedive25那麼,存在的應用程序可以使整個桌面的屏幕捕捉視頻就像這樣。因此,理論上應該可以將輸出實時輸入無邊界窗口。 (無論是值得的努力和性能打擊完全是另一個問題,尤其是因爲我不知道屏幕捕獲可用作方便的中間件。) – millimoose 2012-12-31 13:31:21

1

你應該definetely看看:

http://www.cocoacontrols.com/platforms/ios/controls/cnbackstagecontroller

,而不是呈現出正常的窗口和菜單欄的應用程序建立與CNBackstageController爲您提供一個在Finder類似桌面的後面,將顯示平滑的動畫。常用的是嵌套爲Dock中不可見的狀態欄項目的應用程序。

如果桌面保持可用(不僅是屏幕截圖)或者它是應用商店準備就緒,我不確定。

+0

這只是一個屏幕截圖,但對於通知中心來說也是如此。不過,謝謝你提到它。它也幫助了我。 – 2013-05-07 10:16:18

+0

如果它對你有幫助,考慮將其作爲答案,因爲我認爲它比自己手動複製它更容易 – 2013-05-09 13:06:15

+0

我不是問題的主人,所以我可以將它作爲答案... – 2013-05-13 08:14:39

相關問題