2014-10-17 10 views
7

एक्सकोड 6 में आईओएस 8 के लिए स्विफ्ट का उपयोग करके, मुझे एक स्क्रॉल व्यू बनाना होगा जो गतिशील रूप से बनाए गए कार्ड के माध्यम से स्क्रॉल करेगा। कार्ड में अपनी अनूठी छवियां, टेक्स्ट और बटन फ़ंक्शंस होते हैं लेकिन एक समान लेआउट साझा करते हैं। मुझे स्टोरीबोर्ड में पुनः उपयोग करने योग्य दृश्य नियंत्रक बनाने का तरीका समझने में समस्या हो रही है, जिससे मैं प्रत्येक कार्ड का निर्माण कर सकता हूं और फिर उन्हें सभी को स्क्रॉल व्यू कंटेनर में एम्बेड कर सकता हूं ताकि मैं एक समय में उनके माध्यम से स्लाइड कर सकूं।स्क्रॉल व्यू के अंदर व्यू कंट्रोलर का पुन: उपयोग करना। स्विफ्ट आईओएस 8 विकास

आम तौर पर मैं स्टैक ओवरफ़्लो पर अधिक विशिष्ट प्रश्न पूछना चाहता हूं लेकिन शोध के घंटों के बाद मुझे नुकसान हुआ है; तुम्हारी सहायता को खासा सराहा जाएगा!

उत्तर

11

आप कस्टम कंटेनर व्यू कंट्रोलर की तलाश में हैं।

तो प्रोग्राम के रूप में यह कर, आप माता-पिता नियंत्रक (जिससे दृश्य नियंत्रक पदानुक्रम में बच्चे दृश्य नियंत्रक जोड़ने), बच्चे के दृश्य का कॉन्फ़िगरेशन के सभी (मूल नियंत्रक के दृश्य पदानुक्रम में जोड़ने सहित) कर पर addChildViewController फोन और फिर अंत में, बच्चे पर didMoveToParentViewController फोन:

let childController = self.storyboard?.instantiateViewControllerWithIdentifier("storyboardIdForChildScene") as UIViewController! 
addChildViewController(childController) 
childController.view.frame = ... 
scrollView.addSubview(childController.view) 
childController.didMoveToParentViewController(self) 

जब प्रोग्राम के रूप में दूर करने, तो आप इस प्रक्रिया को उल्टा, बच्चे पर willMoveToParentViewController:nil बुला, अपने superview से बच्चे दृश्य हटाने, और जब सब कुछ किया, फोन removeFromParentViewController :

childController.willMoveToParentViewController(nil) 
childController.view.removeFromSuperview() 
childController.removeFromParentViewController() 

तो इंटरफ़ेस बिल्डर में यह कर, यह बहुत आसान है, बस अपने माता पिता के दृश्य नियंत्रक के दृश्य पर "वस्तु लाइब्रेरी" से "कंटेनर देखें" खींचें: पर कैसे करने के लिए

container view

अधिक जानकारी के लिए ऐसा करें, में Create Custom Container View Controllers देखें नियंत्रक प्रोग्रामिंग मार्गदर्शिका देखें। दृश्य नियंत्रक पदानुक्रम को दृश्य पदानुक्रम के साथ सिंक्रनाइज़ करने के लिए इन रोकथाम कॉल करना महत्वपूर्ण क्यों है, डब्ल्यूडब्ल्यूडीसी 2011 वीडियो Implementing UIViewController Containment देखें।

+0

धन्यवाद! मैं वर्तमान में आपके संदर्भों को देख रहा हूं और इस सारी जानकारी को पच रहा हूं। इसकी प्रकृति से हालांकि मुझे स्टोरीबोर्ड में एक व्यू कंट्रोलर बनाने में सक्षम होना चाहिए जिसमें मेरे इच्छित लेआउट है, उस व्यू कंट्रोलर को स्क्रॉलव्यू के अंदर एक कंटेनर व्यू से कनेक्ट करें और उसके बाद प्रोग्रामिक रूप से उस मूल व्यू कंट्रोलर को अद्वितीय गुणों के साथ डुप्लिकेट करें जो मेरे सभी को बनाने के लिए पत्ते? – madeFromCode

+0

यदि यह प्रोग्रामेटिक रूप से कर रहा है, तो आप नए बच्चे दृश्य नियंत्रकों (जैसे ऊपर दिखाए गए) को "तत्काल" करेंगे, "डुप्लिकेट" नहीं। – Rob

+0

सही! क्षमा करें, मिसपोक। मैं पूरी तरह से ओओपी की अवधारणा को समझता हूं और उस कक्षा के आधार पर कई वस्तुओं को बनाने के लिए एक वर्ग का एक उदाहरण देता हूं। मुझे जो परेशानी हो रही है वह समझ रहा है कि स्टोरीबोर्ड में उस वर्ग को कैसे बनाया जाए और फिर मेरे स्क्रॉल व्यू को भरने के लिए इसके कई उदाहरण तुरंत चालू करें। यह निश्चित रूप से ऐसा लगता है कि आपने मुझे सही रास्ते पर सेट किया है। मैं अब आपके द्वारा प्रस्तुत किए गए वीडियो को देख रहा हूं, फिर मैं इसे लागू करने का प्रयास करूंगा। – madeFromCode

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