我有一个NSView
,它被设置为view:
的{{1}}出口。该视图包含NSMenuItem
(在NSTableView
内)和NSScrollView
。当用户点击特定NSSearchField
时会显示NSMenu
。当我从Xcode(构建和运行)启动应用程序时,控件表现良好,但每当我从Finder启动它时(就像用户一样),它们都不起作用而且不需要任何关注。我的申请是NSStatusItem
。谁能帮我吗?感谢。
答案 0 :(得分:3)
由于您的申请是UIElement
,因此NSMenu
不会成为焦点。您必须将NSTimer
设置为0.01秒才能显示NSMenu
,并且您应该激活应用程序:
- (void)statusItemClicked {
[NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(showMenu) userInfo:nil repeats:NO];
[NSApp activateIgnoringOtherApps:YES];
}
- (void)showMenu {
[statusItem popUpStatusItemMenu:statusMenu];
}