2010-04-15 11 views
18

मैं UIViewController एस और initWithNibName का उपयोग कर बहुत अधिक सफलता के साथ उपयोग कर रहा हूं, मूल रूप से इंटरफेस बिल्डर के साथ दृश्य को डिजाइन करने के लिए सुविधाजनक तरीके के रूप में उनका उपयोग कर रहा हूं।एनआईबी से UIView कैसे लोड करें?

नोट:: दुर्भाग्य से मैं UIViewController दस्तावेज में इस लाइन देख से पहले विचारों का एक पदानुक्रम का निर्माण किया है आप दृश्य नियंत्रकों बार देखा गया है कि केवल अपने खिड़की का एक हिस्सा भर के प्रबंधन के लिए उपयोग नहीं करना चाहिए

मेरा प्रश्न यह है: एक बहुत ही सरल एनआईबी होने के बाद, जिसमें डिफ़ॉल्ट उत्तरदाता और स्वामित्व ऑब्जेक्ट के अलावा केवल UIView है, मेरे कोड में UIView लोड करने का सबसे आसान तरीका क्या है?

मैं इस बिंदु पर काम करने के लिए loadNibNamed:owner:options: प्राप्त करने में सक्षम नहीं हूं, लेकिन संदेह है कि उत्तर इसे किसी भी तरह शामिल करेगा।

उत्तर

29

हाँ, बस फोन

[[NSBundle mainBundle] loadNibNamed:@"viewNib" owner:self options:nil]; 

आप आम तौर पर आप निब में फ़ाइल के स्वामी के रूप में स्थापित किया है दृश्य नियंत्रक से यह करते हैं। इस तरह, आप दृश्य नियंत्रक में दृश्य के लिए एक आउटलेट घोषित कर सकते हैं जो एनआईबी फ़ाइल लोड करते समय स्वचालित रूप से कनेक्ट हो जाएगा। आपको इस मामले में विधि के वापसी मूल्य के साथ भी काम नहीं करना पड़ेगा।

+0

धन्यवाद, मैं 'मेनबंडल' भाग – Winder

+1

हाय खो रहा था, एक त्वरित सवाल: क्या यह दृष्टिकोण कस्टमव्यू क्लास रखने के मामले को संभालने वाला है? यदि फ़ाइल का स्वामी व्यू कंट्रोलर है, जिसमें से दृश्य प्रारंभ किया गया है, तो मैं वास्तव में कस्टम तत्व दृश्य आईबीओटलेट्स में निब (जैसे MyLabel) में सभी तत्वों को कैसे लगा सकता हूं? – aneuryzm

+0

बस आईबी में अपनी कस्टम कक्षा में व्यू क्लास और फिर आउटलेट कनेक्ट करें। आप हमेशा क्या करेंगे इसके लिए कोई फर्क नहीं पड़ता। –

संबंधित मुद्दे