3

フルスクリーン Cocoa アプリケーションを作成したいのですが、私のアプリは従来のフルスクリーン アプリとは少し異なります。

このアプリは他のすべての下、つまりメニュー バーや Dock などの下に配置されます。デスクトップとアイコンを覆う大きな画像があり、中央にカスタム NSView があり、テーブル ビューなどがあります。この概念がわかりにくいので、ここに画像があります:

http://img10.imageshack.us/img10/6308/mockupo.png

少し混乱するかもしれない唯一の部分は、背景画像です。この背景画像は、コンピューターの壁紙ではなく、アプリの一部です。そのため、アプリが起動されると、全画面表示モードになり、ドックとメニュー バーの下、および他のすべてのウィンドウの下にも配置されます。そのため、画面 (デスクトップとアイコンを含む) を覆うように背景画像を描画します。次に、コントロールを含むカスタム NSView を中央に配置します。

これを行う最善の方法は何ですか?

ありがとう

4

2 に答える 2

6

[NSScreen mainScreen]メニューバー画面のサイズ(画面0- <strong>ではない)で、ウィンドウレベルが0,0のフチなしウィンドウを作成しますkCGDesktopWindowLevel

画面のフレーム変更通知(ユーザーが画面のサイズを変更した場合)を監視する必要があり、画面がまったくない場合(ヘッドレスMac)を正しく処理する必要があることに注意してください。

于 2009-10-03T05:01:41.633 に答える
1

@Peter Hoseyのソリューションは機能するはずですが、他のウィンドウを上に移動するには、おそらくウィンドウレベルを別のものに変更する必要があります。

しかし、私はあなたに懇願します、これをしないでください。これは、Macintosh がこれまでに見た中で最もバグの多いアプリケーションになります。使用できる非常に優れたユーザー インターフェイス パラダイムがたくさんありますが、Mac OS X のメイン デスクトップ インターフェイスを「複製」することは、一般的にその 1 つではありません。つまり、Time Machine などを再実装している場合を除きます。

于 2009-10-03T16:39:55.707 に答える