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 回答