【发布时间】:2011-06-22 18:09:09
【问题描述】:
一段时间以来,我一直试图让我的 Mac 应用程序进入全屏模式,但无法正常工作。根据苹果开发者中心的说法,我应该使用enterFullScreenMode:withOptions:,它给了我,方法 enterFullScreenMode 没有找到。
我在谷歌上搜索的每个地方似乎都有人在让他们的应用全屏时遇到问题,那么如何让它工作呢?
编辑:
当然enterFullScreenMode 是为NSView 使用的,我在NSWindow 上使用它;这不是我想要全屏的视图,而是窗口。不过我找不到NSWindow 的任何功能。
【问题讨论】:
-
使NSWindow的contentView进入全屏状态。
-
我一直在阅读 (cocoabuilder.com/archive/cocoa/…),如果你想做任何有用的事情,
enterFullScreenMode:withOptions:似乎几乎没用。如果你想控制动画过渡、窗口级别、菜单栏/停靠栏隐藏等,我认为你将不得不使用一些 Carbon-nastiness。 -
只要使用
[[window contentview] enterFullScreenMode:[NSScreen mainScreen] withOptions:nil];,你就可以做任何事情你可以用普通的NSView做,包括添加CoreAnimation层和OpenGL层/视图。 -
@Jonathan Sterling:IIRC 不需要 Carbon — 只需几个 CoreGraphics 函数。我同意 API 有点强悍,但实际上并没有那么糟糕。
-
@Chuck 太棒了,我的错。谢谢! (任何阅读此内容的人,请忽略我之前写的内容!)
标签: objective-c cocoa macos fullscreen