我使用此代码创建了一个 NSWindow,但我没有收到任何鼠标或键盘事件:
window = [[OverlayWindow alloc] initWithContentRect:bounds styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:NO];
[parentWindow addChildWindow:window ordered:NSWindowAbove];
NSView * rootView = [[OverlayView alloc] init];
[window setOpaque:NO];
[window setBackgroundColor:[NSColor clearColor]];
[window setContentView:rootView];
[window setIgnoresMouseEvents:NO];
[self reshapeToRect:bounds];
在 OverlayWindow 中:
- (BOOL) canBecomeKeyWindow { return YES; }
- (BOOL) canBecomeMainWindow { return YES; }
- (BOOL) acceptsFirstResponder { return YES; }
- (BOOL) becomeFirstResponder { return YES; }
- (BOOL) resignFirstResponder { return YES; }
最佳答案
[window orderWindow:NSWindowAbove relativeTo:[parentWindow windowNumber]];
成功了
关于cocoa - 无边框子 NSWindow 未获取事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7666763/