web-dev-qa-db-ja.com

Mac OSX Cocoaアプリケーションをフルスクリーンにする方法は?

しばらくの間、Macアプリケーションを全画面表示にしようとしていますが、動作させることができません。 Appleデベロッパセンターによると、 enterFullScreenMode:withOptions: を使用する必要があります。これにより、メソッドenterFullScreenModeが見つかりません。

私がグーグルで検索するところはどこでも、アプリをフルスクリーンにするのに問題があるようですが、それを機能させる方法は何ですか?

編集:

もちろん、enterFullScreenModeNSView用であり、私はそれをNSWindowで使用しました。フルスクリーンにしたいビューではなく、ウィンドウです。しかし、NSWindowの関数が見つかりません。

21
tobros91

ジョナサンがコメントで提供したリンク で述べたように、enterFullScreen:withOptions:には、髪を引き裂きたくなるような多くの欠点があります。フルスクリーンを実行するための最良の方法は、依然として古いCGDirectDisplayAPIです。 Cocoa Dev Centralには フルスクリーンアプリに関する記事 があり、知っておく必要のあるほとんどすべてを網羅しています。

この記事はかなり古く、開発ツールはそれ以来大きく変更されていますが(Project Builder!ああ、古き良き時代)、コード自体は引き続き機能します。

7
Chuck

Lionには、フルスクリーン用の新しいAPIがいくつかあります。

NSWindowでそれを行うには、これを行います

[window setCollectionBehavior:
          NSWindowCollectionBehaviorFullScreenPrimary];

NSApplicationでこれを行うには、これを行います

[[NSApplication sharedApplication]
        setPresentationOptions:NSFullScreenWindowMask];

それについてもう少し ここ

21
Randall

現代のMacOs X開発者(ストーリーボードを使用)は、main.storyboardをクリックし、NSWindow(NSWindowControllerではなく)を選択し、右側のパネルを使用して属性パネル(ルーラーの左側にあるパネル)を見つけるだけです。ドラッグバーのように見えます)「フルスクリーン」を探し、デフォルト値の「サポートされていない」ではなく「プライマリウィンドウ」を選択します。必要に応じて、補助ウィンドウを設定することもできます。

変化と戦うのではなく、ストーリーボードを使用してください。私たちの一人...私たちの一人...

13
Ethan
[self.view setFrame:[[NSScreen mainScreen] visibleFrame]];
0
Subhash