Скопировать экран, скользящий в сторону, как Центр уведомлений в Горном льве?

По сути, я хочу, чтобы весь рабочий стол OS X (или, в идеале, все, кроме строки меню) скользил вверх и отображал мой собственный вид в нижней части во многом так же, как работает Центр уведомлений в Mountain Lion (только снизу, а не с правая сторона).

Я немного оглядывался по сторонам, но немного растерян, чтобы начать. NSScreen дает мне рамку основного экрана, но нет способа получить какой-либо NSWindow для всего рабочего стола (или что-то подобное). Таким образом, сам рабочий стол, док-станция и все открытые окна будут скользить вверх, когда мой вид станет видимым.

Помогите?:)

2 ответа

Решение

Лучшая идея, которую я могу придумать, - это создать NSWindow это размер рабочего стола (за исключением панели инструментов) плюс ваш контент, который можно рассчитать с помощью NSScreen, как вы заявили ранее. Затем вы можете поиграть с окном и отключить тени, установить стиль окна на NSBorderlessWindowMask и установите уровень окна правильно. Вы также должны были бы установить фон окна для обоев рабочего стола пользователя. Неофициальный способ сделать это будет читать из /Users/<current-user>/Library/Preferences/com.apple.desktop.plist PLIST. После этого вы можете использовать [[mywindow animator] setFrame:NSMakeFrame(...)] "сдвинуть" окно в аут, повторяя внешний вид Центра уведомлений. Даже если это работает, вы должны подумать, если это абсолютно необходимо. Репликация функций (а не выполнение этого в точности) может привести к тому, что пользователь будет сбивать с толку и, как правило, нарушать часть руководств Apple Human Interface Guidlines.

Вы должны определенно взглянуть на:

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

вместо того, чтобы показывать обычное окно и строку меню, сборка приложения с CNBackstageController предложит вам рабочий стол, похожий на Finder, и будет отображаться с плавной анимацией. Обычно используется приложение, вложенное в элемент строки состояния, которое не отображается в Dock.

Если рабочий стол остается пригодным для использования (не только снимок экрана) или если он готов для магазина приложений, я не уверен.

Другие вопросы по тегам