3

私は次のコードを持っています:

NSRect contentRect = NSZeroRect;
contentRect.size = NSMakeSize(400, 400);
contentRect.origin = NSMakePoint(400, 400);

NSWindow* window = [[NSWindow alloc] initWithContentRect:contentRect styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:NO];


[window setBackgroundColor:[NSColor blackColor]];
[window setMovableByWindowBackground:NO];
[window setExcludedFromWindowsMenu:YES];
[window setAlphaValue:0.8];
[window setOpaque:NO];
[window setHasShadow:YES];
[window useOptimizedDrawing:YES];

[NSApp activateIgnoringOtherApps:YES];
[window makeKeyAndOrderFront:nil];

によって呼び出され- (BOOL) applicationShouldHandleReopen:(NSApplication *)theApplication hasVisibleWindows:(BOOL)flagます。この関数は、Dock アイコンをクリックすると呼び出されます。

ウィンドウが表示されないのはなぜですか?

また、ドックアイコンを何十回もクリックすると、それに気付きました。ウィンドウが 1/10 秒表示されることがあります。その後、消えます。

4

1 に答える 1

6

ARC を使用している場合は、

次にwindow、クラスのプロパティとして作成します。この場合は解放されるので解決します。

使用する :

@property(strong) NSWindow* window;

于 2013-01-18T14:02:39.850 に答える