【发布时间】:2015-09-12 04:12:18
【问题描述】:
我正在尝试处理全屏 NSWindow 的关键事件。我将 NSWindow 子类化并实现了 keyDown 和 canBecomeKeyWindow 方法(返回 YES)。但我的关键事件没有处理。这是我创建窗口的方式:
mainWindow = [[FullScreenWindow alloc] initWithContentRect:screenRect
styleMask:NSBorderlessWindowMask
backing:NSBackingStoreBuffered
defer:NO screen:[NSScreen mainScreen]];
[mainWindow setLevel:windowLevel];
[mainWindow setBackgroundColor:[NSColor blackColor]];
[mainWindow makeKeyAndOrderFront:nil];
其中 FullScreenWindow 是 NSWindow 的子类。我做错了什么?
【问题讨论】:
-
通常在
NSWindow对象中处理关键事件是一个坏主意,您通常在控件、视图或NSWindowController的子类中处理这些事件。您是否有理由需要在窗口本身中处理关键事件?你想做什么? -
我正在尝试通过按 esc 键退出全屏窗口
标签: cocoa events fullscreen nswindow