基本上我希望整个 OS X 桌面(或者理想情况下除了菜单栏之外的所有东西)向上滑动并在底部显示我自己的视图,这与 Mountain Lion 中的通知中心的工作方式非常相似(只是从底部而不是从右边)。
我一直在环顾四周,但不知道从哪里开始。NSScreen 给了我主屏幕的框架,但没有办法为整个桌面(或任何类似的东西)获得任何类型的 NSWindow。因此,当我的视图变得可见时,桌面本身、扩展坞和任何打开的窗口都会向上滑动。
帮助?:)
基本上我希望整个 OS X 桌面(或者理想情况下除了菜单栏之外的所有东西)向上滑动并在底部显示我自己的视图,这与 Mountain Lion 中的通知中心的工作方式非常相似(只是从底部而不是从右边)。
我一直在环顾四周,但不知道从哪里开始。NSScreen 给了我主屏幕的框架,但没有办法为整个桌面(或任何类似的东西)获得任何类型的 NSWindow。因此,当我的视图变得可见时,桌面本身、扩展坞和任何打开的窗口都会向上滑动。
帮助?:)
我能想到的最好的主意是创建一个NSWindow
桌面大小(减去工具栏),加上可以使用 计算的内容NSScreen
,如您之前所述。接下来,您可以使用窗口并关闭阴影,将窗口样式设置为NSBorderlessWindowMask
并正确设置窗口级别。您还必须将 Windows 背景设置为用户桌面壁纸。一种非官方的方法是从/Users/<current-user>/Library/Preferences/com.apple.desktop.plist
plist 中读取。之后,您可以使用[[mywindow animator] setFrame:NSMakeFrame(...)]
“滑动”窗口,复制通知中心的外观。即使这可行,您也应该考虑这是否绝对必要。复制功能(而不是完全复制)最终可能会让用户感到困惑,并且通常会破坏部分功能Apple 人机界面指南。
你应该明确地看看:
http://www.cocoacontrols.com/platforms/ios/controls/cnbackstagecontroller
使用 CNBackstageController 构建的应用程序不是显示普通窗口和菜单栏,而是为您提供一个类似于 Finder 的桌面,并且将以流畅的动画显示。常见的用途是将应用程序嵌套为在 Dock 中不可见的状态栏项。
如果桌面仍然可用(不仅仅是屏幕截图)或者它是否已准备好应用商店,我不确定。