2010-11-23 8 views
6

ठीक है, इसलिए मैं इंटरफ़ेस बिल्डर में UIScrollView का उपयोग करना सीख रहा हूं। चूंकि scrollView में कोई सामग्री नहीं है, इसलिए मैंने अपने नियंत्रण और स्क्रॉल करने योग्य सामग्री को पकड़ने के लिए एक और दृश्य, सामग्री दृश्य बनाया है। इस दृश्य में मैं नियंत्रण, लेबल इत्यादि रखता हूं और फिर मेरे कोड में मैं सामग्री सेट करता हूं स्क्रॉल का आकार इस सामग्री के आकार में देखें दृश्य देखें।मैं इंटरफ़ेस बिल्डर में एक लंबा दृश्य कैसे काम करूं?

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

मेरा प्रश्न यह है कि मैं सामग्री के दृश्य भाग के के बाहर के बाहर नियंत्रण/नियंत्रण नियंत्रण कैसे काम करूं? जबरदस्त हंसी। यह बहुत आसान लगता है, लेकिन मुझे बस यह नहीं मिला। मैं सामग्री दृश्य की ऊंचाई निर्धारित कर सकता हूं या जो भी मुझे पसंद करता हूं आयत खींच सकता हूं (और वास्तव में यह स्क्रॉलव्यू होने का पूरा बिंदु है) लेकिन आईबी से निश्चित यूआई विंडो विस्तारित नहीं होगी, इसलिए मैं "ऑफस्क्रीन" भाग देख सकता हूं सामग्री के अधिक नियंत्रण जोड़ने के लिए देखें। ऐसा लगता है कि यह सिर्फ उस आकार पर तय है क्योंकि यह एक आईफोन स्क्रीन का आकार है और यह मुझे इसे बड़ा/लंबा बनाने नहीं देगा।

मैंने क्या गलत किया?

-एक

+0

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

+0

@ डैनियल - नीचे स्वीकृत उत्तर देखें। एक बार जब आप सभी अनुरूपित यूआई तत्वों को बंद कर देते हैं तो आप दृश्य को जितना चाहें उतना लंबा बना सकते हैं। जाहिर है अगर आप इसे आईफोन पर स्क्रीन-लायक से अधिक लंबा बनाने जा रहे हैं, तो आपको इसे स्क्रॉलव्यू –

उत्तर

12

आपको सभी सिम्युलेटेड यूजर इंटरफेस तत्वों (जैसे स्टेटस बार) को आकार के अलावा "अपरिभाषित" होने की आवश्यकता है, जिसे आप ड्रॉप-डाउन से "फ्रीफॉर्म" चुनते हैं, और फिर आप दृश्य सेट कर सकते हैं शासक टैब का उपयोग करके ऊंचाई जो भी आप चाहें।

उदाहरण के लिए, यहां मैंने एक फोटो व्यू कंट्रोलर चुना है, और दाएं किनारे पर आकार को "आईपैड पूर्ण स्क्रीन" के रूप में सेट किया है - लेकिन मैं इसे किसी भी ऊंचाई को सेट करने के लिए "फ्रीफॉर्म" में भी बदल सकता हूं ।

Selecting VC in interface builder

Custom size set

+0

में रखना होगा, यही वह चाल है जिसे मैं ढूंढ रहा था। धन्यवाद केंडल! –

+0

एक्सकोड के नए संस्करणों के साथ, "फ्रीफॉर्म" शब्द का उपयोग इसके बजाय किया जाता है। – ThomasW

+0

धन्यवाद @ थॉमसडब्ल्यू, उत्तर अपडेट करेगा। –

1

आप scrollview के अंदर जगह है अगर आप नहीं चाहते एक दृश्य बनाने के लिए नहीं है। आपके मामले में, ऐसा लगता है जैसे यह ज्यादा समझ में नहीं आता है।

अपने प्रश्न के दूसरे भाग के लिए, आप सबव्यू के रूप में सीधे स्क्रॉलव्यू पर आइटम रख सकते हैं (यह बाद में एक दृश्य है)। यदि आप उन्हें स्क्रीन से बाहर करना चाहते हैं, तो बस अपने फ्रेम को उन विशेष एक्स, वाई निर्देशांकों पर सेट करें जिन्हें आप चाहते हैं। आपको यह सुनिश्चित करना होगा कि आपकी स्क्रॉलव्यू की contentSize संपत्ति आपकी संपूर्ण सामग्री को पूरा करने के लिए पर्याप्त है, यह वही है जो क्षैतिज/लंबवत स्क्रॉलिंग की अनुमति देता है।

0

शायद आप xibs का उपयोग करने के बजाए ऑफस्क्रीन तत्व प्रोग्रामेटिक रूप से करना चाहते हैं।

2

निस्संदेह दिमाग। आप सामग्री दृश्य को खींचते हैं ताकि कुछ नियंत्रण ऑफ़स्क्रीन हो और फिर उस हिस्से में अधिक नियंत्रण/विस्तार जोड़ें जो आपने शीर्ष सामग्री को शीर्ष पर ले जाकर दिखाई देता है। असल में, आप भौतिक रूप से सामग्री को स्क्रॉल करते हैं आईबी में इसे माउस से खींचकर देखें। एक smidge counterintuitive लगता है, लेकिन जो कुछ भी।

3

सबसे पहले किसी भी जो अपनी पसंद के द्वारा एक ViewController जोड़ें। फिर इंटरफ़ेस बिल्डर में, व्यू कंट्रोलर आइकन (बाईं ओर) पर क्लिक करें। कनेक्शन इंस्पेक्टर में शासक आइकन "आकार निरीक्षक दिखाएं" पर क्लिक करें। अनुरूपित आकार के लिए विकल्प सूची होगी, "फ्रीफॉर्म" में बदलें और ऊंचाई को किसी भी आकार में बढ़ाएं। उम्मीद है की यह मदद करेगा।

1

सेट नकली एक बड़ा पर्याप्त आकार है कि आप

enter image description here

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