【问题标题】:Show NSStatusItem menu only if App is active仅当 App 处于活动状态时才显示 NSStatusItem 菜单
【发布时间】:2011-08-11 13:19:11
【问题描述】:

我使用此方法仅在应用程序处于活动状态时才显示 NSStatusItem 菜单。

-(void)menuWillOpen:(NSMenu*)menu{  
    if(![NSApp isActive]){
        [menu cancelTracking];
    }
    [[NSApplication sharedApplication] activateIgnoringOtherApps:YES];
    [window makeKeyAndOrderFront:self]; 
}

它完美地工作,但 cancelTracking 似乎阻止了 NSStatusItem 的蓝色突出显示。因此,当我单击状态菜单项时,它不显示子菜单,而是显示主窗口,但图标未突出显示。 有没有办法让它发生?

【问题讨论】:

    标签: objective-c cocoa


    【解决方案1】:

    如果您需要更精确地控制状态项何时突出显示,我建议您创建一个自定义视图。然后您可以使用mouseDown: 等。This 是将自定义视图放入状态项的一个很好的示例。

    【讨论】:

      猜你喜欢
      • 2013-10-08
      • 2012-12-27
      • 1970-01-01
      • 2015-03-16
      • 1970-01-01
      • 2018-11-14
      • 2015-09-10
      • 1970-01-01
      相关资源
      最近更新 更多