मेरे पास मुख्य ऐप मेनू के अंदर एक मेनू आइटम है और मैं अपनी क्रिया को एक व्यू कंट्रोलर (NSViewController
) पर रूट करना चाहता हूं। इंटरफ़ेस पदानुक्रम इस तरह दिखता है: NSWindowController
द्वारा एक मुख्य ऐप विंडो नियंत्रक है। खिड़की के अंदर एक अलग दृश्य है, और विभाजन दृश्य में सही दृश्य NSViewController
द्वारा नियंत्रित किया जाता है।मैं मेनू क्रियाओं को एक विंडो के अंदर NSViewController पर कैसे रूट करूं?
Window + NSWindowController
`-- NSSplitView
`-- NSView
`-- NSView + NSViewController
मेनू आइटम इंटरफ़ेस बिल्डर में प्रथम प्रतिक्रियाकर्ता से जुड़ा हुआ है। प्रश्न में दृश्य नियंत्रक उपयुक्त विधि लागू करता है, लेकिन मेनू आइटम अक्षम रहता है। जब मैं विधि को NSWindowController
पर ले जाता हूं, तो मेनू आइटम सक्षम हो जाता है।
मुझे लगा कि मुझे प्रतिक्रिया नियंत्रक को दृश्य नियंत्रक प्राप्त करने की आवश्यकता है, इसलिए मैंने इसे विंडो नियंत्रक के लिए nextResponder
के रूप में सेट किया है; कोई सिगार नहीं। मैं क्या गलत कर रहा हूं?
आप अपने नियंत्रक का प्रतिनिधित्व करते हुए आईबी में एक वस्तु जोड़ सकते हैं। फिर मेनू नियंत्रक को अपने नियंत्रक के IBAction से लिंक करें। –
दुर्भाग्यवश यह संभव नहीं है, दृश्य नियंत्रक बाएं स्प्लिट व्यू फलक में चुने गए अनुसार के अनुसार बदलते हैं। – zoul
फिर दृश्य को ध्यान में आने पर प्रत्येक बार मेनू कार्रवाई को पुन: असाइन करना होगा। टी मेनू तक पहुंचने के लिए: [[[[[NSApp mainMenu] itemWithTitle: @ "ItemName"] मेनू] itemWithTitle @ "ItemName] setAction: @" चयनकर्ता (चयनकर्ता)] –