2013-01-24 45 views
9

आईओएस 6 के साथ ऑटोलाउट है, जो एक बाधा आधारित लेआउट सिस्टम है। मुझे लगता है कि यह एंड्रॉइड के लचीले एक्सएमएल लेआउट के लिए कुछ हद तक तुलनीय है।ऑटोलायआउट होने पर 2 स्टोरीबोर्ड क्यों हैं?

मैं आईओएस 6 प्रोजेक्ट को लात मार रहा हूं और आपको ऑटोलाउट करना चाहता हूं। यह ऐप सार्वभौमिक होगा। इसमें कुछ विचार होंगे जो 2 डिवाइस परिवारों के बीच बेहद समान हैं। आईपैड पर अन्य विचार आईफोन विचारों में 2 या अधिक नियंत्रक होंगे।

जो मैं समझता हूं उससे, UIViewControllers को अन्य बच्चे UIViewControllers के साथ स्थापित किया जा सकता है। इसका मतलब है कि दोनों उपकरणों में सार्वभौमिक दृश्य बनाने के लिए 2 तत्व हैं।

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

बहुत सराहना की।

+0

आप नहीं कर सकते! आपको इसे दोनों का उपयोग करना होगा। – TonyMkenu

+0

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

उत्तर

8

आईपैड यूआई आईफोन यूआई के बड़े संस्करणों को विस्तारित नहीं करते हैं। उपयोग करने के लिए और अधिक स्क्रीन स्पेस है, और कस्टम आईपैड-केवल इंटरफ़ेस तत्व हैं (उदा। UISplitViewController)।

यदि आपके मामले में अलग-अलग उपकरणों में बहुत समान लेआउट हैं, तो हाँ, आप ऑटोलायआउट के साथ केवल एक लेआउट का उपयोग कर सकते हैं और यह ठीक काम कर सकता है। हालांकि, मैं ज्यादातर मामलों में इसके खिलाफ सिफारिश करता हूं। यह सिर्फ दो लेआउट के लिए स्पष्ट है, प्रत्येक डिवाइस के लिए एक।

अंतिम निर्णय आपके ऊपर है। शायद आप ऑटोलेआउट्स का उपयोग करके एकल लेआउट रणनीति का प्रयास कर सकते हैं, और देख सकते हैं कि आप किसी विशेष समस्या के खिलाफ आते हैं या नहीं।

+1

मेरी इच्छा है कि मैं इसे फिर से +1 कर सकता हूं। – Fogmeister

+0

थोड़ी देर हो गया लेकिन मैं सॉर्ट के हाइब्रिड समाधान के साथ समाप्त हुआ। आईपैड लेआउट बनाने के लिए मेरे पास एक आईपैड स्टोरीबोर्ड है। स्टोरीबोर्ड में कुछ पैनल (UIViews) खाली हैं। मेरे पास MasterIPadViewController का एक सेट है, MasterIPhoneViewControllers जो आउटलेट और विकल्प सेट किए जाने पर अन्य स्टोरीबोर्ड से दृश्यों की कुछ चालाक लोडिंग करता है। कुछ आईपैड वीसी आईफोन वाले लोगों का विस्तार करते हैं और यूआई में अतिरिक्त कार्यक्षमता जोड़ते हैं। इसने अधिकतम कोड पुन: उपयोग और अधिकतम यूआई लचीलापन सुनिश्चित किया। (60 हर्ट्ज ऐप का नाम है।) – dineth

+0

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

2

यह मेरा अनुभव है कि स्टोरीबोर्ड का उपयोग न करना और प्रोग्रामेटिक रूप से सबकुछ बनाना संभवतः आपके लिए आसान होगा, लेकिन यह अधिक राय आधारित है।

आपका प्रश्न थोड़ा अस्पष्ट है, लेकिन मेरी राय ऑटो-लेआउट के साथ विचारों को सेट करना होगा जैसा कि आपने बताया है, और उसके बाद एक नियंत्रक है जो उन विचारों का उपयोग करता है। अंत में क्या हो रहा है यह है कि आप नियंत्रक के भीतर विचारों के भीतर देखेंगे, और यह डिवाइस के आधार पर, जहां कहीं भी जाता है, चुनने और चुनने में सक्षम होने के दौरान आप सभी लेआउट को नियंत्रित करने की अनुमति देंगे।

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

+0

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