具有自定义视图的NSMenuItem在离开应用程序后无响应

时间:2015-01-28 04:12:13

标签: objective-c macos nsmenu nsmenuitem

我的应用程序位于状态栏中。当应用程序首次启动时,我的搜索字段响应正常,并允许我单击并输入文本,看起来像this

但是在将应用程序单击到另一个应用程序之后,例如" xcode"然后回到我的菜单中,搜索字段和自定义视图的其余部分显示为暗淡,除非我多次单击,否则不响应。

在我的applicationDidFinishLaunching我使用自定义视图设置了statusItemNSMenuItem

//set up hotkeys
[self registerHotKeys];

_statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength];

NSImage *menuIcon       = [NSImage imageNamed:@"Menu Icon"];
NSImage *highlightIcon  = [NSImage imageNamed:@"Menu Icon"];
[highlightIcon setTemplate:YES];

[[self statusItem] setImage:menuIcon];
[[self statusItem] setAlternateImage:highlightIcon];
[[self statusItem] setMenu:[self menu]];
[[self statusItem] setHighlightMode:YES];




// search menu item
NSMenuItem *searchMenuItem = [[NSMenuItem alloc] initWithTitle:@"search" action:nil keyEquivalent:@""];
self.searchMenuItemView = [[SearchMenuItemView alloc] initWithNibName:@"SearchMenuItemView" bundle:nil];
self.searchMenuItemView.delegate = self;
[searchMenuItem setView:self.searchMenuItemView.view];
[searchMenuItem setTarget:self];
[searchMenuItem setEnabled:YES];
[_menu insertItem:searchMenuItem atIndex:0];

视图来自UIViewController,但我尝试仅使用NSView来设置视图但没有运气使用"this"来自有类似问题的人,但这并没有解决矿。自动启用已开启。

有没有办法让NSMenuItem恢复到应用程序首次推出时的状态?

0 个答案:

没有答案