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

时间:2016-09-08 20:21:21

标签: nswindow nsmenu macos-sierra

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

6 个答案:

答案 0 :(得分:26)

您也可以在IB的Window属性检查器

上执行此操作

NSWindow attribute inspector

答案 1 :(得分:9)

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

[NSWindow setAllowsAutomaticWindowTabbing: NO];

答案 2 :(得分:4)

如果您不想针对最新的框架进行编译,可以在NSWindowsController子类中使用以下代码:

夫特:

 override func awakeFromNib() {
     if NSAppKitVersionNumber > 1500 {
        self.window?.setValue(2, forKey: "tabbingMode")
     }
 }

目标-C:

- (void)awakeFromNib {
    if (NSAppKitVersionNumber > 1500) {
        [self.window setValue:[NSNumber numberWithInt:2] forKey:@"tabbingMode"];
    }
}

答案 3 :(得分:4)

要在各个窗口上禁用标签,请致电setTabbingMode:

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

答案 4 :(得分:2)

快速解决方案:

results = lm(dat$HWA ~ dat$Elevation + dat$Treatment).

答案 5 :(得分:2)

快捷键5

在您的NSWindowController中:

self.window?.tabbingMode = .disallowed