मैं घंटों की खोज कर रहा हूं और अभी भी इसका उत्तर नहीं मिला है। परिणामों के साथ मेनू प्रदर्शित करने के लिए आपको NSSearchField
कैसे मिल सकता है। मैं परिणामों को प्रदर्शित करने के लिए हालिया खोज मेनू का उपयोग कर सकता हूं, लेकिन मैं प्रोग्राम को प्रोग्रामेटिक रूप से कैसे प्रदर्शित करूं? किसी भी मदद के लिए धन्यवाद।NSSearchField परिणाम मेनू
5
A
उत्तर
5
मेरा मानना है कि ऐप्पल कुछ निजी तरीकों से ऐसा करता है। शायद यह NSMenu
के बजाय NSWindow
का उपयोग करता है। ऐसा करने का एक तरीका यह है कि इसे NSSearchField
प्रतिनिधि में लागू करें, यह मानते हुए कि आपके पास IBOutlet
NSSearchField
पर इशारा करता है।
- (void)controlTextDidEndEditing: (NSNotification *)aNotification
{
NSString *searchString = [searchField stringValue];
NSMenu *menu = [[NSMenu alloc] initWithTitle: @"results"];
[menu addItemWithTitle: searchString action: @selector(someAction:) keyEquivalent: @""];
[menu addItemWithTitle: @"someString" action: @selector(someOtherAction:) keyEquivalent: @""];
NSEvent *event = [NSEvent otherEventWithType: NSApplicationDefined
location: [searchField frame].origin
modifierFlags: 0
timestamp: 0
windowNumber: [[searchField window] windowNumber]
context: [[searchField window] graphicsContext]
subtype: NSApplicationDefined
data1: 0
data2: 0];
[NSMenu popUpContextMenu: [menu autorelease] withEvent: event forView: searchField];
}
ध्यान दें कि मेनू दिखाकर NSSearchField
में और टाइपिंग रोकता है। यही कारण है कि मैंने controlTextDidEndEditing:
और controlTextDidChange:
का उपयोग नहीं किया। ईवेंट के अधिक अनुकूलन के लिए आपको NSEvent's Class Reference भी जांचना चाहिए।
1
ऐप्पल के पास some sample कोड है जो आपको चाहिए। नमूना कोड NSTextField का उपयोग करता है (जो NSSearchField का मूल वर्ग है)। उम्मीद है कि यह आपकी समस्या हल करता है।
संबंधित मुद्दे
- 1. NSSearchField NSTokenFieldCell का उपयोग करें?
- 2. NSSearchField को स्वत: पूर्ण करने पर कार्रवाई कैसे करें?
- 3. मेनू
- 4. मेनू
- 5. जावाएफएक्स 2.0 मेनू मेनू जैसे मेनू को सक्रिय करना
- 6. VS2012 बनाना परीक्षण के परिणाम परीक्षण के परिणाम खिड़की
- 7. परिणाम न दिखाना परिणाम
- 8. डिफ़ॉल्ट संदर्भ मेनू में मेनू आइटम जोड़ें
- 9. jquery संदर्भ मेनू अक्षम मेनू आइटम
- 10. क्षैतिज मेनू के साथ क्षैतिज मेनू-एंड्रॉइड
- 11. एक नेस्ट यूएल मेनू बनाएं मेनू आइटम
- 12. विंडोज एक्सप्लोरर में डेल्फी मेनू मेनू जोड़ें
- 13. onCreateOptionsMenu (मेनू मेनू) केवल एक गतिविधि
- 14. एंड्रॉइड - गैलेक्सी नेक्सस पर मेनू मेनू दिखाएं
- 15. परिणाम
- 16. परिणाम
- 17. डॉक मेनू
- 18. प्रसंग मेनू
- 19. लंबवत मेनू
- 20. वर्डप्रेस मेनू
- 21. क्षैतिज मेनू
- 22. वर्डप्रेस मेनू
- 23. डिजीट मेनू
- 24. एंड्रॉइड मेनू आइटम शीर्षक
- 25. डिफ़ॉल्ट मेनू पर मेनू आइटम को जोड़ने के लिए संदर्भ मेनू पर क्लिक करें
- 26. एसडब्ल्यूटी टेक्स्ट विजेट: डिफ़ॉल्ट मेनू मेनू में अपना मेनू इटम्स कैसे डालें? org.eclipse.swt.widgets.Text वर्ग के लिए
- 27. एंड्रॉइड पर विकल्प मेनू पर मेनू मेनू कैसे बदल सकता हूं?
- 28. आईफोन पॉप-अप मेनू बनाना मेल ऐप मेनू के समान
- 29. एंड्रॉइड में संदर्भ मेनू और विकल्प मेनू के बीच अंतर
- 30. डब्ल्यूपीएफ: सिस्टम मेनू में "हमेशा चालू" मेनू आइटम जोड़ें
धन्यवाद, पूरी तरह से काम करता है। एकमात्र परिवर्तन यह था कि मैंने मेनू में मेनू को 5 से नीचे स्थानांतरित करने के लिए ईवेंट पैरामीटर को संशोधित किया ताकि यह खोज फ़ील्ड को ओवरलैप न करे। धन्यवाद! – edc1591
मैंने इसका परीक्षण नहीं किया है, लेकिन हो सकता है कि आप पूरी एनएसईएंड चीज को '[NSEvent currentEvent]' में बदल सकें। शायद तब यह डिफ़ॉल्ट स्थान आदि हो जाता है। – Jef