【问题标题】:Handling events in NSWindow处理 NSWindow 中的事件
【发布时间】: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


【解决方案1】:

esc 键已默认全屏存在,您不必实现它(在 10.10.4 上测试)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-14
    • 1970-01-01
    相关资源
    最近更新 更多