से कई सबव्यूव्स मुझे इंटरफेस बिल्डर और एनएसवीव कंट्रोलर के साथ विचार लोड करने के आसपास अपने सिर को लपेटने में मुश्किल हो रही है।एनएसवी व्यूंट्रोलर और निब
मेरा लक्ष्य एक ऐसा दृश्य है जो निम्न वर्णन को पूरा करता है: शीर्ष पर शीर्ष बार (टूलबार की तरह लेकिन बिल्कुल नहीं) जो दृश्य की पूरी चौड़ाई और नीचे एक दूसरा "सामग्री दृश्य" फैलाता है। यह समग्र दृश्य मेरे NSViewController
सबक्लास के स्वामित्व में है।
इसके लिए इंटरफेस बिल्डर का उपयोग करना समझ में आया। मैंने एक दृश्य निब बनाया है, और इसमें दो सबव्यूव्स जोड़े हैं, उन्हें ठीक से बाहर रखा है (शीर्ष बार और सामग्री दृश्य के साथ)। मैंने File's Owner
को MyViewController
, और कनेक्टेड आउटलेट और इस तरह सेट किया है।
जिन विचारों में मैं लोड करना चाहता हूं (बार और सामग्री) भी अपने स्वयं के निब में हैं (यह हो सकता है कि यह मुझे परेशान कर रहा हो) और उन निब्सों के पास उनके कस्टम क्लास को संबंधित एनएसवी व्यूक्लास पर लागू किया गया हो। मुझे यकीन नहीं है कि उनके File's Owner
के रूप में सेट करना है (मैं MyController
अनुमान लगा रहा हूं क्योंकि यह उनका स्वामी होना चाहिए)।
अलास, जब मैं MyViewController
का एक उदाहरण init में से कोई भी वास्तव में प्रदर्शित नहीं करता है। मैंने इसे अपनी विंडो की सामग्री में जोड़ा है ठीक से देखें (मैंने अन्यथा जांच की है), और वास्तव में, चीजों की तरह लोड। यही है, awakeFromNib
बार दृश्य में भेजा जाता है, लेकिन यह विंडो में प्रदर्शित नहीं होता है। मुझे लगता है कि मुझे निश्चित रूप से कहीं कुछ तार पार हो गए हैं। शायद कोई मेरी निराशा से छुटकारा पाने के लिए हाथ उधार दे सकता है?
संपादित कुछ कोड को दिखाने के लिए मैं क्या कर रहा
नियंत्रक लोड किया जाता है जब मेरी ऐप्लिकेशन को लॉन्च करने खत्म एप्लिकेशन प्रतिनिधि से,:
MyController *controller = [[MyController alloc] initWithNibName:@"MyController" bundle:nil];
[window setContentView:[controller view]];
और फिर मेरी initWithNibName मैं डॉन में ' कुछ भी नहीं करते लेकिन अभी सुपर के लिए कॉल करें।
अपना कोड पोस्ट करें। यह स्पष्ट नहीं है कि आप अपने व्यू कंट्रोलर को कैसे प्रारंभ कर रहे हैं। –