全屏可可应用 - 强制退出

时间:2013-12-16 22:19:43

标签: cocoa nswindow osx-mavericks nsborderlesswindowmask

在尝试制作全屏应用程序时,我遇到了一个奇怪的问题。我目前正在使用带有NSWindow的{​​{1}}将屏幕显示在顶部,我将NSBorderlessWindowMask子类化为接受键:

NSWindow

这很好用,我可以在我的窗口中使用键,并使用Command + Q退出应用程序。但是,当我尝试强制退出Mac上的应用程序时,屏幕冻结,我必须重启我的电脑。我的窗口中有一个简单的WebView:

- (BOOL) canBecomeKeyWindow
{
    return YES;
}

我在另一台计算机上尝试过该应用程序,强制退出并不会冻结屏幕。两台计算机都运行OS X Mavericks。

请告诉我是否还有其他问题。

提前致谢,

修改

我认为AppDelegate中的applicationWillTerminate方法可能是问题的一部分,但我不确定。为什么这种方法在另一台计算机上运行正常,但不是我的呢?

mainWindow = [[MyBorderWindow alloc] initWithContentRect:screenRect
                                         styleMask:NSBorderlessWindowMask
                                           backing:NSBackingStoreBuffered
                                             defer:NO screen:[NSScreen mainScreen]];


[mainWindow setLevel:windowLevel];
[mainWindow setBackgroundColor:[NSColor blackColor]];
[mainWindow makeKeyAndOrderFront:nil];
NSView *contentView = [mainWindow contentView];
WebView *customView = [[WebView alloc] initWithFrame:[contentView bounds]];
[customView setTranslatesAutoresizingMaskIntoConstraints:NO];
[contentView addSubview:customView];

0 个答案:

没有答案