2011-03-22 15 views
5

से XIB फ़ाइलों का संदर्भ कैसे लें यदि मैं ChildView.xib में एक कस्टम UIView बनाता हूं - मैं इसे MainWindow.xib से कैसे संदर्भित करूं?अभिभावक XIB

मैंने मेनविंडो.एक्सिब पर UIView खींचने की कोशिश की और इसे उसी चाइल्ड व्यू क्लास से संबद्ध किया। मैंने ChildView.xib के स्वामी को मेनविंडो.एक्सिब से और ChildView.xib में एक व्यू कंट्रोलर बनाया है, मैंने बच्चे को देखने के लिए आईबीऑलेट को जोड़ा है, लेकिन जब मैं ऐप शुरू करता हूं, तो ChildView.xib में दृश्य स्वचालित रूप से लोड नहीं होता है।

क्या यह संभव है? एक बुनियादी स्तर पर, मुझे लगता है कि मैं कुछ अन्य XIB जैसे आईबीओयूलेट संदर्भ में UIViews को अलग-अलग XIB फ़ाइलों से कनेक्ट करने के लिए पूछ रहा हूं ... जैसे MainWindow.xib।

एफडब्ल्यूआईडब्ल्यू, मुझे पता है कि कोड में यह कैसे करना है (मैन्युअल रूप से एनएसबंडल के साथ तत्काल तत्काल) लेकिन इस मामले में, मैं जानना चाहता हूं कि आईबी (इंटरफेस बिल्डर) में इसे पूरी तरह से कैसे किया जाए।

उत्तर

2

मैंने इस के साथ प्रयोग किया, और एक संबंधित XIB फ़ाइल के साथ एक NSViewController subclass बनाया। मैं मुख्य XIB फ़ाइल में NSViewController ऑब्जेक्ट का उदाहरण डालकर स्वचालित रूप से लोड हो सकता था, और NSViewController subclass की XIB फ़ाइल के नाम पर "निब नाम" सेट करने के लिए विशेषता निरीक्षक का उपयोग किया। उस XIB फ़ाइल में डिफ़ॉल्ट रूप से एक एकल दृश्य ऑब्जेक्ट भी शामिल होता है, जिसे आप आईबी में कस्टमाइज़ कर सकते हैं या कस्टम व्यू उप-वर्ग प्रकार पर सेट कर सकते हैं।

हालांकि, मुख्य विंडो के सामग्री दृश्य में दृश्य नियंत्रक के दृश्य को जोड़ने के लिए अभी भी कोड की एक पंक्ति की आवश्यकता है। (मैं प्रतिनिधि में ऐसा किया)

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification 
{ 
    [[self.window contentView] addSubview:myVC.view]; 
} 

इसके अलावा प्रयोग से पता चला कि एक कस्टम NSViewController उपवर्ग होने आवश्यक नहीं था, लेकिन आप अभी भी जरूरत लोड XIB फ़ाइल NSViewController के स्वामित्व में किया जाना है।

मुझे लोड किए गए XIB में दृश्य ऑब्जेक्ट में मुख्य XIB में आउटलेट जोड़ने का कोई तरीका नहीं दिखाई देता। मैं केवल इसके बजाय व्यू कंट्रोलर ऑब्जेक्ट से लिंक कर सकता हूं, और उसके बाद अपनी दृश्य संपत्ति के माध्यम से कस्टम व्यू तक पहुंच सकता हूं।

+0

धन्यवाद लौरा। जैसा कि आपने दिखाया है - मैंने व्यू कंट्रोलर के साथ बिल्कुल ऐसा किया है। ऐसा लगता है कि अन्य XIB में UIViews का संदर्भ देना स्पष्ट नहीं है। –