macos - 复制像《Mountain Lion》中的通知中心一样向一侧滑动的屏幕?

标签 macos cocoa slider osx-mountain-lion notificationcenter

基本上,我希望整个 OS X 桌面(或者理想情况下,除了菜单栏之外的所有内容)向上滑动并在底部显示我自己的 View ,就像 Mountain Lion 中的通知中心的工作方式一样(只是从底部开始)从右侧开始)。

我环顾四周,但有点不知道从哪里开始。 NSScreen 为我提供了主屏幕的框架,但无法为整个桌面获取任何类型的 NSWindow (或类似的任何内容)。因此,当我的 View 变得可见时,桌面本身、扩展坞以及任何打开的窗口都会向上滑动。

帮忙? :)

最佳答案

我能想到的最好的主意是创建一个 NSWindow这是桌面的大小(减去工具栏),加上可以使用 NSScreen 计算的内容。 ,正如您之前所说。接下来你可以尝试一下窗口并关闭阴影,将窗口样式设置为 NSBorderlessWindowMask并正确设置窗位。您还必须将 Windows 背景设置为用户桌面壁纸。执行此操作的一种非正式方法是读取 /Users/<current-user>/Library/Preferences/com.apple.desktop.plist plist。之后您可以使用 [[mywindow animator] setFrame:NSMakeFrame(...)]将窗口“滑入”或“滑出”,复制通知中心的外观。即使这有效,您也应该考虑这是否绝对必要。复制功能(而不是完全复制)最终可能会让用户感到困惑,并且通常会破坏 Apple Human Interface Guidlines 的部分内容。 .

关于macos - 复制像《Mountain Lion》中的通知中心一样向一侧滑动的屏幕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11697621/

相关文章:

ios - 在Swift中,如何避免同时使用 optional 对象和nil对象引用?

objective-c - 在图像上应用多个 CIFilter

cocoa - NSTextView 逐行滚动

使用 AJAX 打开页面时 Javascript slider 不工作

Flutter - 制作一个看起来像抽屉的幻灯片面板

Python 导入错误 : Symbol not found, 但文件中不存在符号 <s>is</s>

objective-c - 如何让套接字成为非阻塞的

Cocoa WebView字体太小

javascript - 修改后图像 slider 不起作用

macos - SVN Mac - 提交名称中带有 "@"的文件