如何禁用Sierra应用程序中的"显示标签栏"菜单选项?

str*_*mes 14 nsmenu nswindow macos-sierra

我有一个使用NSWindow工具栏的应用程序.出于美观原因,我不希望用户能够自定义此工具栏.在Sierra中有一个新的菜单选项,可以插入到"菜单>视图"中Show Tab Bar.如何禁用此功能?启用它似乎只会增加工具栏的高度,因为我没有在图标下显示额外的标签.

leo*_*aka 28

您也可以在窗口的属性检查器上对IB执行此操作

NSWindow属性检查员


str*_*mes 9

在10.12,您需要在创建窗口时设置以下内容,因为默认情况下Tab Bar现在可用:

[NSWindow setAllowsAutomaticWindowTabbing: NO];
Run Code Online (Sandbox Code Playgroud)

  • 在 10.15 上这个方法似乎不再存在了。相反,您可以将窗口的“tabbingMode”设置为“.disallowed”。具体来说,将“window.tabbingMode = .disallowed”添加到“NSApplicationDelegate”的“applicationDidFinishLaunching”方法似乎有效。 (3认同)

adi*_*dib 5

禁用单个窗口上的 Tab 键切换调用setTabbingMode:

if([window respondsToSelector:@selector(setTabbingMode:)]) {
    // this particular window doesn't support tabbing in Sierra.
    [window setTabbingMode:NSWindowTabbingModeDisallowed];
}
Run Code Online (Sandbox Code Playgroud)