しばらくの間、Macアプリケーションを全画面表示にしようとしていますが、動作させることができません。 Appleデベロッパセンターによると、 enterFullScreenMode:withOptions: を使用する必要があります。これにより、メソッドenterFullScreenModeが見つかりません。
私がグーグルで検索するところはどこでも、アプリをフルスクリーンにするのに問題があるようですが、それを機能させる方法は何ですか?
編集:
もちろん、enterFullScreenMode
はNSView
用であり、私はそれをNSWindow
で使用しました。フルスクリーンにしたいビューではなく、ウィンドウです。しかし、NSWindow
の関数が見つかりません。
ジョナサンがコメントで提供したリンク で述べたように、enterFullScreen:withOptions:
には、髪を引き裂きたくなるような多くの欠点があります。フルスクリーンを実行するための最良の方法は、依然として古いCGDirectDisplayAPIです。 Cocoa Dev Centralには フルスクリーンアプリに関する記事 があり、知っておく必要のあるほとんどすべてを網羅しています。
この記事はかなり古く、開発ツールはそれ以来大きく変更されていますが(Project Builder!ああ、古き良き時代)、コード自体は引き続き機能します。
Lionには、フルスクリーン用の新しいAPIがいくつかあります。
NSWindowでそれを行うには、これを行います
[window setCollectionBehavior:
NSWindowCollectionBehaviorFullScreenPrimary];
NSApplicationでこれを行うには、これを行います
[[NSApplication sharedApplication]
setPresentationOptions:NSFullScreenWindowMask];
それについてもう少し ここ 。
現代のMacOs X開発者(ストーリーボードを使用)は、main.storyboardをクリックし、NSWindow(NSWindowControllerではなく)を選択し、右側のパネルを使用して属性パネル(ルーラーの左側にあるパネル)を見つけるだけです。ドラッグバーのように見えます)「フルスクリーン」を探し、デフォルト値の「サポートされていない」ではなく「プライマリウィンドウ」を選択します。必要に応じて、補助ウィンドウを設定することもできます。
変化と戦うのではなく、ストーリーボードを使用してください。私たちの一人...私たちの一人...
[self.view setFrame:[[NSScreen mainScreen] visibleFrame]];