3

我想创建一个全屏 Cocoa 应用程序,但是我的应用程序与传统的全屏应用程序略有不同。

这个应用程序将在其他所有内容下方,因此在菜单栏和 Dock 等下方。它将有一个覆盖桌面和图标的大图像,中间有一个自定义 NSView 和一个表格视图等。如果这个概念是很难理解那么这里是一个图像:

http://img10.imageshack.us/img10/6308/mockupo.png

唯一可能有点混乱的部分是背景图像。此背景图片不是计算机的壁纸,而是应用程序的一部分。因此,当应用程序启动时,它会进入全屏模式,并将自身置于 Dock 和菜单栏下方,以及所有其他窗口下方。所以它绘制背景图像以覆盖屏幕(包括桌面和图标)。然后在中间有一个自定义的 NSView 包含我的控件。

这样做的最佳方法是什么?

谢谢

4

2 回答 2

6

制作一个无边框窗口,菜单栏屏幕的大小(屏幕 0-<strong>not [NSScreen mainScreen]),定位在 0,0,窗口级别为kCGDesktopWindowLevel

请记住,您需要观察屏幕框架更改通知(当用户更改屏幕尺寸时),并且您应该正确处理根本没有屏幕的情况(无头 Mac)。

于 2009-10-03T05:01:41.633 回答
1

我认为@Peter Hosey 的解决方案应该可以工作,但是要让其他窗口位于顶部,您可能需要将窗口级别更改为其他值。

但是,我恳求你,不要这样做。这将是 Macintosh 所见过的最有 bug 的应用程序。有很多非常好的用户界面范例可供您使用,“复制”Mac OS X 的主桌面界面通常不是其中之一。也就是说,除非您正在重新实现 Time Machine 或类似的东西。

于 2009-10-03T16:39:55.707 回答