私が作成したmyWindow
を見ることができません。私が[myWindow isVisible]
の場合は1
を返します。 CGDisplayCapture
は、スクリーンを空白にするので問題ありません。私はNSWindow initメソッドに渡すすべての変数をチェックしました。2次ディスプレイのココア全画面ウィンドウ
本当に明白なものがありませんか?ここでは、コードがあります:あなたはそれ全画面表示にしない場合
// Find the screen we want
NSScreen *screen = [[NSScreen screens] objectAtIndex:1];
NSNumber *displayID = [[screen deviceDescription]
objectForKey:@"NSScreenNumber"];
CGDirectDisplayID CGDisplayID = (CGDirectDisplayID) [displayID intValue];
// Capture the secondary display
if (CGDisplayCapture(CGDisplayID) != kCGErrorSuccess) {
NSLog(@"Couldn't capture the secondary display");
}
// Draw a new window to fill the screen
NSRect screenRect = [screen frame];
NSWindow *myWindow = [[NSWindow alloc] initWithContentRect:screenRect
styleMask:NSBorderlessWindowMask
backing:NSBackingStoreBuffered
defer:NO
screen:screen];
// Set the level of the new window and other settings
NSInteger windowLevel = CGShieldingWindowLevel();
[myWindow setLevel: windowLevel];
[myWindow setBackgroundColor:[NSColor blueColor]];
[myWindow makeKeyAndOrderFront:nil];
乾杯
'[[NSWindow alloc ] init]; '少し青い窓が現れます。だから、おそらくそれはそのメソッドの何かですが、 'NSLog'を使ってチェックしているので' screenRect'と 'screen'はOKです。 – jdelaune
私はあなたがやっているようにフルスクリーンのウィンドウを作る必要があったので、長い時間が経ちました。 -enterFullScreenMode:withOptions:あなたが描画しようとしているものを含むビューに送信するだけではない理由がいくつかありますか? – NSResponder
とにかくウィンドウを作成してビューを含む必要があるとは思わないが、ウィンドウなしでフルスクリーン表示を行うことはできないのだろうか?私は '[NSScreen mainScreen]'を画面のパラメータに渡しました。なぜなら、NSScreenがメインスクリーンを使って送信している理由が分からない理由を理解する必要があるからです。 。それが動作しない場合は、私はビューソリューションを試してみましょう。ご協力いただきありがとうございます。 – jdelaune