NSWindow在每个应用程序前面和菜单栏Objective-c Mac前面

ato*_*nda 2 macos window objective-c menubar nswindow

如何让我的NSWindow出现在每个应用程序和菜单栏的前面?我也不希望窗口上有标题栏.只是一个没有Dock菜单栏的全屏应用,而不是苹果的全屏模式.我可以让我的窗口高于所有其他应用程序并像这样停靠:

[window setLevel:kCGPopUpMenuWindowLevel];
Run Code Online (Sandbox Code Playgroud)

但它不包括mac菜单栏.

Dru*_*erB 5

您无法将默认窗口移动到菜单栏的上方,因为它受到约束.你必须子类化NSWindow并覆盖constrainFrameRect:toScreen:

- (NSRect)constrainFrameRect:(NSRect)frameRect toScreen:(NSScreen *)screen {
    return frameRect;
}
Run Code Online (Sandbox Code Playgroud)

  • [Objective-C的编程语言(https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjectiveC/Chapters/ocDefiningClasses.html#//apple_ref/doc/uid/TP30001163-CH12- SW1) (4认同)