NSWindow没有显示?

时间:2013-01-18 13:56:10

标签: objective-c cocoa 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];

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

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

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

1 个答案:

答案 0 :(得分:6)

如果您使用ARC,

然后将window作为该类的属性。它将被解决,因为在这种情况下它将被释放。

使用:

@property(strong) NSWindow* window;