如何全屏制作Mac OSX Cocoa应用程序?

tob*_*s91 21 macos cocoa objective-c fullscreen

我一直试图让我的Mac应用程序现在进入全屏模式一段时间但无法让它工作.根据Apple开发人员中心的说法,我应该使用enterFullScreenMode:withOptions:这给了我,找不到方法enterFullScreenMode.

我google的所有地方似乎都有人将他们的应用程序全屏显示出来,那么它的工作方式是什么?

编辑:

当然enterFullScreenMode是为了NSView和我用它NSWindow; 这不是我希望全屏的视图,而是窗口.虽然我找不到任何功能NSWindow.

Ran*_*all 21

Lion有一些全新的API用于全屏.

要使用NSWindow,请执行此操作

[window setCollectionBehavior:
          NSWindowCollectionBehaviorFullScreenPrimary];
Run Code Online (Sandbox Code Playgroud)

要使用NSApplication执行此操作,请执行此操作

[[NSApplication sharedApplication]
        setPresentationOptions:NSFullScreenWindowMask];
Run Code Online (Sandbox Code Playgroud)

在这里多说一点.


Eth*_*han 13

现代Mac Os X开发人员(使用故事板)只需要点击他们的main.storyboard,选择NSWindow(而不是NSWindowController),使用右侧面板找到属性面板(标尺左边的那个,它看起来像一个拖动的东西)寻找"全屏"并选择"主窗口"而不是默认值"不支持".如果这是你想要的,你也可以设置辅助窗口.

不要对抗变化,使用故事板.我们其中一个......我们中的一个......


Chu*_*uck 7

正如Jonathan在评论中提到的链接中所提到,enterFullScreen:withOptions:有许多缺点可以让你想要撕掉你的头发.全屏幕的最佳方式仍然是较旧的CGDirectDisplay API.Cocoa Dev Central有一篇关于全屏应用程序文章,涵盖了你需要知道的几乎所有内容.

您会注意到这篇文章很古老,开发工具从那时起发生了很大变化(项目构建器!啊,过去的好时光),但代码本身仍然有用.