से एनएसएमएनयू प्रोग्रामेटिक रूप से छुपाएं मेरे पास यह एप्लिकेशन है जो सिस्टम की स्टेटस बार में कोई आइटम दिखाता है, और आइटम में से एक एनएसटीक्स्टफिल्ड और एनएसबटन के साथ एक कस्टम व्यू है। जब उपयोगकर्ता स्टेटस बार आइटम पर क्लिक करता है, तो यह मेनू दिखाता है, उपयोगकर्ता कुछ टेक्स्ट इनपुट करता है और बटन दबाता है। यह एक क्रिया को ट्रिगर करता है जो एक विंडो प्रदर्शित करता है।NSStatusItem
अब समस्या जो मैं कर रहा हूं, जब बटन दबाया जाता है तो यह क्रिया को ट्रिगर करता है, लेकिन मेनू दिखाई देता है। मैं मेनू को छिपाना चाहता हूं, क्योंकि कार्रवाई पहले ही संसाधित हो चुकी है।
मैंने एपीआई के माध्यम से खोज की है, लेकिन यह नहीं मिल सका।
कोई विचार?
यह मैं कैसे मेनू बना रहा हूं है:
NSStatusBar *bar = [NSStatusBar systemStatusBar];
self.statusItem = [bar statusItemWithLength:NSVariableStatusItemLength];
[statusItem setImage:[NSImage imageNamed:@"icon_status_bar.png"]];
[statusItem setHighlightMode:YES];
NSMenuItem *textInputItem = [[NSMenuItem alloc] initWithTitle:@"" action:nil keyEquivalent:@""];
[textInputItem setView:myCustomView]; // created on the Nib file...
NSMenu *menu = [[NSMenu alloc] initWithTitle:NSLocalizedString(@"statusBarMenuTitle", @"")];
[menu addItem:textInputItem];
[statusItem setMenu:menu];
[textInputItem release];
[menu release];
धन्यवाद! मैं इसे उस नाम से कभी नहीं मिला होता ... –