如何在macOS React Native应用中下移NSWindow的窗口控制按钮(红绿灯)
React Native macOS 窗口控制按钮下移/工具栏样式定制问题
开发进度与目标
- 默认窗口样式:

- 已实现效果:隐藏窗口标题并设置标题栏透明(忽略截图中的标题)

- 期望效果:将窗口的「红绿灯」控制按钮下移,达到下图的工具栏样式效果

当前实现代码(第二阶段效果)
目前通过扩展Objective-C的AppDelegate实现了隐藏标题+透明标题栏的效果,代码如下:
- (void)applicationWillBecomeActive:(NSNotification *)notification { NSWindow *window = [[NSApplication sharedApplication] mainWindow]; window.titleVisibility = NSWindowTitleHidden; window.titlebarAppearsTransparent = true; window.styleMask |= NSWindowStyleMaskFullSizeContentView; }
尝试过的无效方案
方案1:添加空Toolbar
- (void)applicationWillBecomeActive:(NSNotification *)notification { NSWindow *window = [[NSApplication sharedApplication] mainWindow]; window.titleVisibility = NSWindowTitleHidden; window.titlebarAppearsTransparent = true; window.styleMask |= NSWindowStyleMaskFullSizeContentView; NSToolbar *toolbar = [NSToolbar init]; window.toolbar = toolbar; }
方案2:设置ToolbarStyle
- (void)applicationWillBecomeActive:(NSNotification *)notification { NSWindow *window = [[NSApplication sharedApplication] mainWindow]; window.titleVisibility = NSWindowTitleHidden; window.titlebarAppearsTransparent = true; window.styleMask |= NSWindowStyleMaskFullSizeContentView; window.toolbarStyle = NSWindowToolbarStyleUnified; }
尝试过toolbarStyle的其他变体,但均无法实现目标效果。
内容的提问来源于stack exchange,提问作者Typestuck
相关产品推荐
相关产品推荐

