NSWindow没有显示?

Mat*_*ler 3 cocoa objective-c nswindow

我有以下代码:

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];
Run Code Online (Sandbox Code Playgroud)

它叫做- (BOOL) applicationShouldHandleReopen:(NSApplication *)theApplication hasVisibleWindows:(BOOL)flag.单击Dock图标时会调用此函数.

为什么我的窗户没有显示?

我还注意到,当在停靠栏图标上点击十几次时.有时我看到我的窗口出现了1/10秒.然后它消失了.

Ano*_*dya 6

如果您使用ARC,

然后window作为班级的财产.它将被解决,因为在这种情况下它将被释放.

使用 :

@property(strong) NSWindow* window;