2013-01-21 34 views
6

मैंने अपने व्यू कंट्रोलर में से एक कंटेनर व्यू खींच लिया है। यह एक एम्बेड Segue के साथ आता है। रनिंग इस निर्माण करता है:एम्बेड सेग्यू - आईओएस 5

'Could not instantiate class named UIStoryboardEmbedSegueTemplate' 
कुछ अन्य stackoverflow सवाल ऐसा लगता है यह आईओएस 5 में लागू नहीं है हालांकि, सवाल ठीक सुझाव नहीं दिया से

तो। एक्सकोड मुझे किसी अन्य प्रकार के सेगू का उपयोग नहीं करने देगा।

यदि उत्तर कस्टम कंटेनर व्यू बनाना है तो मैं इसके साथ जाऊंगा। मैंने पिछले कुछ दिनों में इसके लिए बहुत सारे कोड देखे हैं। बस यह सोचकर कि क्या उपलब्ध कंटेनर व्यू ऑब्जेक्ट का उपयोग करके ऐसा करने का कोई तरीका था।

उत्तर

9

समस्या यह है कि एम्बेड करें segue आईओएस 6+ है। यह विफल रहता है क्योंकि आप EmbedSegue आंतरिक वर्ग जो आईओएस 5 में मौजूद नहीं है का दृष्टांत को स्पष्ट समाधान EmbedSegue उपयोग करने के लिए नहीं आप आईओएस 5 समर्थन :)

यहाँ एक और सवाल आता है की जरूरत है है कोशिश कर रहे हैं - क्या बजाय उपयोग कैसे करें? मुझे इस समय एक ही समस्या है; अगर मैं इसके लिए कोई सुंदर वास्तुकला समाधान ढूंढूं तो मैं साझा करूंगा।


ऐसा लगता है कि समाधान किसी भी "पुराने स्कूल" आईओएस डेवलपर के लिए काफी स्पष्ट है। यहां आप यह कैसे करते हैं।

  1. अपने "जनक" दृश्य नियंत्रक इन्स्तांत "बच्चे" दृश्य viewDidLoad में नियंत्रक में: या जब भी उपयुक्त
  2. [आत्म addChildViewController: childVC];
  3. [self.view addSubview: childVC.view];
  4. childVC.view.frame = ....;

अब आपको देखना चाहिए कि आपने अपने बच्चे वीसी के लिए निब में देखा है या स्टोरीबोर्ड आपके माता-पिता के दृश्य में प्रदर्शित होगा जहां आप इसे निर्दिष्ट करते हैं।

उम्मीद है कि यह उनका तर्क :)

चीयर्स, दान

+0

आईओएस <6 –

+0

शायद एक गूंगा प्रश्न के लिए हाल ही में जोड़े EmbedSegue विकल्प है, लेकिन आप भर सकते हैं कदम # 4 दसगुणा के लिए किसी भी मांग आत्मा में मदद मिलेगी ? क्या आप इसे self.view.frame असाइन करते हैं? – canhazbits

+0

मैं कहूंगा कि आपके मामले पर निर्भर करता है। यदि आप बच्चे के दृश्य को अपने मूल दृश्य पर उपलब्ध सभी स्थान लेना चाहते हैं, तो शायद आप childVC.view.frame = parentView.bounds का उपयोग करना चाहते हैं; इस मामले में, मूल दृश्य स्वयं .view या प्लेसहोल्डर दृश्य हो सकता है। प्लेसहोल्डर्स वास्तव में उपयोगी होते हैं जब आप आईबी में प्लेसहोल्डर को संरेखित करते हैं और कोड में केवल बाल बच्चे को देख सकते हैं। प्लेसहोल्डर व्यू को मैन्युअल रूप से बाल दृश्य मूल और आकार की गणना करने की आवश्यकता के बिना देखें। यदि आप हालांकि पसंद करते हैं, तो भी आप childVC.view.frame = CGRectMake (...) के साथ जा सकते हैं; और मैन्युअल रूप से आकार और मूल निर्दिष्ट करें। क्या यह आपके मामले में मदद करता है? –