2011-02-02 20 views
6

मेरे पास एक एप्लिकेशन है, 'MyApp' कहें, जो डिफ़ॉल्ट रूप से दृश्य नियंत्रक 'MyAppViewController' लोड करता है जब भी एप्लिकेशन लॉन्च होता है। बाद में, मैंने परियोजना में एक नया व्यू कंट्रोलर 'न्यू व्यू कंट्रोलर' जोड़ा।ऐप लॉन्च होने पर लोड होने वाले डिफ़ॉल्ट व्यू कंट्रोलर को कैसे बदला जाए?

अब मैं 'न्यू व्यू कंट्रोलर' चाहता हूं कि मेरा डिफ़ॉल्ट दृश्य नियंत्रक हो जो ऐप लॉन्च होने पर लोड हो।

कृपया मुझे बताएं कि इसे प्राप्त करने के लिए मुझे अपनी परियोजना में क्या परिवर्तन करने की आवश्यकता है।

उत्तर

7
  1. MainWindow.xib खोलें और MyViewController के साथ MyAppViewController को प्रतिस्थापित करें।
  2. अपने ऐप प्रतिनिधि वर्ग में, MyViewController के लिए MyViewController के लिए संपत्ति को प्रतिस्थापित करें। इंटरफेस बिल्डर में अपने नए आउटलेट में न्यू व्यू कंट्रोलर से कनेक्ट करें।
  3. application:didFinishLaunchingWithOptions: में MyAppViewController के दृश्य के बजाय विंडो में NewViewController का दृश्य जोड़ें।
+0

RE # 1: मैंने पाया है कि यदि आप कक्षा को बदलते हैं MyAppViewController के NewViewController के लिए, यह कभी-कभी इंटरफ़ेस बिल्डर को भ्रमित करने लगता है। मेरा ऐप बिल्ड करेगा, लेकिन जब मैंने इसे चलाया, तो यह क्रैश हो जाएगा, फिर भी पुराने व्यू कंट्रोलर प्रकार को लोड करने का प्रयास कर रहा है, जिसे मैंने निश्चित रूप से हटा दिया था। मैं MainWindow.xib में MyAppViewController को हटाकर इसे ठीक करने में सक्षम था, फिर एक व्यू कंट्रोलर जोड़ रहा था और इसे अपनी कक्षा को न्यूव्यू कंट्रोलर में बदल रहा था, और ऐप डिलीगेट आउटलेट को न्यू व्यू कंट्रोलर पर रीवायर कर रहा था। YMMV। – gulchrider

2

अधिकतर आपकी मुख्य एनआईबी फ़ाइल अभी भी "मेनविंडो" पर सेट है, तो अपनी * -Info.plist फ़ाइल देखें।

यदि ऐसा है तो आप इंटरफ़ेस बिल्डर में MainWindow.xib खोल सकते हैं। आपको एक व्यू कंट्रोलर आइटम देखना चाहिए। इंस्पेक्टर विंडो लाएं और कक्षा की पहचान को अपनी नई कक्षा में इंगित करें। यह आपकी कक्षा को तुरंत चालू करने का ख्याल रखना चाहिए।

इस के रूप में एक "नौसिखिया" सवाल की तरह लगता है (कृपया मुझे क्षमा अगर मैं गलत हूँ) मैं भी अत्यधिक निम्न आलेख की सिफारिश करेंगे:

iPhone Programming Fundamentals: Understanding View Controllers

मुझे पूरे ViewController बात को समझने में मदद की और आईबी इंटरैक्शन ..

+0

ओले बेगमैन का उल्लेख है कि आपको वास्तव में ऐपडिलेगेट में संदर्भों को भी बदलना चाहिए और आईबी के साथ इसे तार करना चाहिए।जुड़े लेख भी इसका प्रदर्शन करते हैं। – adnans

0

मेरे लिए xcode 4.3.3 के साथ, मुझे बस इतना करना था कि 'MyAppViewController' के सभी संदर्भों को AppDelegate h और m फ़ाइलों में 'NewViewController' के साथ बस बदलना था।

शायद अन्य सभी कदम xcode के नए संस्करणों में किए गए हैं।

उम्मीद है कि इससे मदद मिलती है।

15

इसका आसान है, बस:

  • खोलें दृश्य करने के लिए इसी पर देखें नियंत्रक अपने स्टोरीबोर्ड
  • क्लिक करें कि आप प्रारंभिक दृश्य
  • ओपन गुण होने के लिए इंस्पेक्टर चाहते
  • का चयन करें व्यू कंट्रोलर सेक्शन में "प्रारंभिक दृश्य नियंत्रक" चेक बॉक्स
संबंधित मुद्दे

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