2011-11-20 15 views
11

मैं इस प्रश्न से उदाहरण का उपयोग कर रहा हूं: How to combine UIScrollview with UIPagecontrol to show different views?UIScrollView जोड़ने के लिए मेरे आईपैड ऐप में एक पेज पर कई सबव्यूव्स शामिल हैं।आईओएस 5 के लिए स्टोरीबोर्ड का उपयोग करते समय UIScrollView के लिए सबव्यूज़ कैसे डिज़ाइन करें?

मेरे ऐप के शीर्ष पर एक छोटा सा बॉक्स नीचे एक छोटा सा दृश्य है। नीचे बॉक्स बॉक्स UIScrollView है; उपयोगकर्ता उस छोटे सेक्शन में विभिन्न कार्यों के लिए बक्से लाने के लिए बाएं और दाएं स्वाइप करेगा। शीर्ष पर बड़ा दृश्य कभी नहीं बदलता है, इसलिए मुझे नहीं लगता कि सीग उचित हैं।

मेरे पास एक सिंगल व्यू कंट्रोलर सीन के साथ एक स्टोरीबोर्ड है। जबकि मैं इस पर विचार जोड़ सकता हूं, मैं 'ऑफ स्क्रीन' दृश्यों को डिज़ाइन नहीं कर सकता; दूसरे शब्दों में, कहीं भी नहीं है मैं अपने प्रत्येक सबव्यू को आकर्षित कर सकता हूं। मैं यह कैसे कर सकता हूँ? क्या मुझे प्रत्येक सबव्यू के लिए अलग-अलग XIB बनाने की ज़रूरत है? यदि हां, तो मैं उन्हें कैसे लोड करूं? या, क्या मुझे इसके बजाय मेरा स्क्रॉलव्यू (subview width * subview count) चौड़ा बनाना चाहिए और पिछले दृश्य के समीप प्रत्येक दृश्य को आकर्षित करना चाहिए? यह मेरा पहला आईओएस ऐप है, इसलिए मेरे पास कुछ चीजें पीछे की ओर हो सकती हैं।

धन्यवाद

टिम

उत्तर

2

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

अंत में मुख्य दृश्य नियंत्रक के viewDidLoad मैं हर subview एनआईबी के लिए इस फोन:

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

मैंने यह भी पाया है कि, लेकिन अंततः आप स्टोरीबोर्डिंग के प्रयोजन के पूर्ण प्रवाह के साथ प्रस्तुत करने के लिए है जो खो आपका ग्राफिकल एप्लिकेशन।

क्या मैं सच में यहाँ की कमी महसूस हो रहा है एक नया कोको वस्तु अर्थात UIPagedScrollController कि जब स्टोरीबोर्ड को जोड़ा गया यह UIToolBarController और UINavigationController के समान खुद segue संक्रमण होता है, लेकिन दोनों UIPageControl और UIScrollView के शामिल किया जाएगा जादू बनाने के लिए आवश्यक है।

6

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

UIStoryboard * storyboard = [UIStoryboard storyboardWithName: @ "MainStoryboard" बंडल: शून्य]; UIViewController * myViewController = [storyboard instantiateViewControllerWithIdentifier: @ "MyViewControllerIdentifierInIB"];

अब आपके पास व्यू कंट्रोलर है, आप दृश्य तक पहुंच प्राप्त कर सकते हैं और जहां चाहें इसे जोड़ सकते हैं।

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

+0

मुझे यह स्कॉट नहीं देखा, धन्यवाद। मैं अलग-अलग निब्स का उपयोग करने की बजाय कुछ ऐसा करने की कोशिश करता हूं। मैं इसे जाने दूंगा। –

+5

"आदर्श नहीं" एक अल्पसंख्यक है: AFAICS स्टोरीबोर्ड सक्रिय रूप से सामग्री के साथ UIScrollView के उपयोग को रोकता है - आईबी की सभी "पुरानी" विशेषताएं हटा दी जाती हैं या ऐप्पल द्वारा बल-अक्षम होती हैं। फिंगर्स ने एप्पल को जल्द ही इस गड़बड़ी को ठीक कर दिया – Adam

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