2011-02-07 13 views
19

私はMacアプリケーションをフルスクリーンにしばらく入れようとしていますが、動作させることはできません。アップルの開発者センターによると、私はenterFullScreenMode:withOptions:私には、メソッドenterFullScreenModeが見つかりませんを使用する必要があります。Mac OSX Cocoaアプリケーションをフルスクリーンにする方法は?

どこでも私のグーグルは自分のアプリを全画面にすることに問題があるようですので、それを動作させる方法は何ですか?

編集:もちろんenterFullScreenMode

NSViewのためであると私はNSWindowでそれを使用。それは私がフルスクリーンを望むビューではなく、ウィンドウです。私はNSWindowのための機能を見つけることができません。

+0

NSWindowのcontentViewをフルスクリーンにします。 – hauntsaninja

+0

私は(http://www.cocoabuilder.com/archive/cocoa/201569-nsview-enterfullscreenmode-withoptions-woes-window-levels.html)を読んできました。それは 'enterFullScreenMode:withOptions:'のようですあなたが何か役に立つことをしたいのなら、ほとんど役に立たない。私はあなたがアニメーションのトランジション、ウィンドウレベル、メニューバー/ドックunhidingなどをコントロールしたいと思っているならば、炭素不足を使用しなければならないと思います。 –

+4

'[[contentview] enterFullScreenMode:[NSScreen mainScreen] withOptions :nil];そしてCoreAnimationレイヤーやOpenGLレイヤー/ビューを追加するなど、通常のNSViewでできることはすべて*できます。 – hauntsaninja

答えて

6

the link Jonathan provided in the commentsに記載されているように、enterFullScreen:withOptions:には、あなたの髪を引き裂くことができる多くの欠点があります。フルスクリーンを行う最良の方法は、依然として古いCGDirectDisplay APIです。 Cocoa Dev Centralには、あなたが知る必要があるすべてをカバーするarticle on fullscreen appsがあります。

記事はかなり古代であり、開発者のツールはそれ以来ずっと変わっています(Project Builder!ああ、良い昔)が、コード自体はまだ動作します。

20

Lionにはフルスクリーン用のいくつかの新しいAPIがあります。 NSWindowのでそれを行うには

、それhereについては、この

[[NSApplication sharedApplication] 
     setPresentationOptions:NSFullScreenWindowMask]; 

もう少しやるNSApplicationのでこれを行うには、この

[window setCollectionBehavior: 
      NSWindowCollectionBehaviorFullScreenPrimary]; 

を行います。

12

最近のMac OS Xの開発者(ストーリーボードを使用している)はmain.storyboardをクリックし、NSWindow(NSWindowControllerではなく)を選択し、右側のパネルを使用して属性パネルドラグバーのように見えます)、 "フルスクリーン"を探し、デフォルト値 "サポートされていません"ではなく "プライマリウィンドウ"を選択します。また、補助ウィンドウを設定することもできます。

変更に対抗しないでください、ストーリーボードを使用してください。私たちの一人...私たちの一人...

+0

これは普通の古いXIB(NIBs)でも行うことができます。あなたはストーリーボードは必要ありません。 ドキュメントベースのアプリケーションをストーリーボードでどのように扱いますか?ドキュメントが別のシーンに分割される方法は、デフォルトの設定が本当に面倒であることがわかりました。追加作業が追加されたため、ドキュメントをコード内のビューコントローラに配線する必要があったため、ストーリーボードが不完全に感じられました。 iOSアプリケーションの場合、私はまだseguesのファンではないので、コード内ではほとんどの場合view-in-codeを実行しています。 Macアプリの場合、NIBを使用する傾向がありますが、まだいくつかのビューコードを書く必要があります。 – Joel

+0

@Ethan、サポートされていない値は表示されません。フルスクリーンは必須ですか? –

0
[self.view setFrame:[[NSScreen mainScreen] visibleFrame]]; 
関連する問題