2014-10-20 12 views
5

मैं अत्यधिक भ्रमित (कम से कम मेरे लिए) विषय - एक्सकोड 6 में आकार वर्गों के बारे में एक प्रश्न पूछना चाहता हूं। मैं यह कैसे समझता हूं कि यह सब कैसे काम करता है, लेकिन यह पूरी तरह से समझने की कोशिश कर रहा है अभी भी मुझे स्पष्ट नहीं है।एक्सकोड 6 आकार वर्ग

एक्सकोड 6 और नए आईफोन से पहले, सबकुछ बहुत सरल था। टू, गैर-रेटिना और रेटिना, डिस्प्ले जो हमें हमेशा एक ही संकल्प 320x480 (या लम्बे उपकरणों के लिए 568) के साथ काम करने में सक्षम बनाता है। मानक और @ 2 एक्स संपत्तियों ने सही अर्थ बनाया। अब हालांकि, हमारे पास एक ही अनुपात (लगभग वही) के साथ बड़ी गधा स्क्रीन है, लेकिन कामकाजी क्षेत्र अब भी वही नहीं है।

आकार वर्गों को एक स्टोरीबोर्ड में सभी को फिट करने के लिए चीजों को संभव बनाने के लिए माना जाता है। लेकिन प्रतीक्षा करें .. आईफोन 6 @ 2x संपत्तियों का उपयोग करता है, जो मेरी समझ में है, इसका मतलब है कि ग्राफिक्स आईफोन 5/5 एस की तुलना में उस डिवाइस पर छोटा दिखाई देगा। और आईफोन 6 प्लस @ 3x संपत्तियों का उपयोग करता है, जो फिर से दिखने वाले नहीं हैं। ऐसा लगता है कि बनाना संभव नहीं है, उदाहरण के लिए, स्क्रीन के पूर्ण चौड़ाई के संबंध में, एक निश्चित बटन हमेशा एक ही आकार का होता है। जब तक हम निश्चित रूप से कोड नहीं करते हैं, लेकिन इससे आकार वर्ग बेकार हो जाएंगे।

क्या मैं चीजों को सही ढंग से समझ रहा हूं या क्या मुझे कुछ याद आ रही है? यह सुनकर बहुत अच्छा लगेगा कि आप इसे कैसे देखते हैं। शायद आप कुछ अच्छे ट्यूटोरियल जानते हैं? मुझे कुछ भी नहीं मिला जो मेरे संदेहों को समझाएगा।

अग्रिम धन्यवाद!

+0

आपको यह मिला। मुझे यही करना था। मैन्युअल रूप से कोड के माध्यम से कोड को बड़ा/छोटा बनाते हैं, यह निर्भर करता है कि यह कौन सा आईफोन है। जैसा कि आपने आईफोन 5/6 सिम्युलेटर में सही बटन देखा है, आईफोन 6 प्लस में दंड दिखता है। इसलिए दुविधा –

+0

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

उत्तर

4

आप आप क्या यहाँ अलग दृष्टिकोण के संयोजन का उपयोग के बारे में बात कर रहे हैं की ज्यादा कर सकते हैं: विभिन्न प्रकार के उपकरणों सबसे यूआई विन्यास में बड़े पैमाने पर परिवर्तन को कवर करने के लिए

  1. आकार वर्गों (उदाहरण के लिए , आईपैड और आईफोन के बीच मतभेद)। उदाहरण के लिए, आप साइडबार प्रकट होते हैं या नहीं, यह बदलने के लिए आप इसका उपयोग कर सकते हैं।

  2. ऑटोलायआउट नियम जो व्यक्तिगत आकार वर्गों के लिए विशिष्ट हैं। लेआउट को ट्विक करने के लिए आप अलग-अलग आकार के वर्गों के लिए अलग-अलग ऑटोलायआउट नियम जोड़ सकते हैं (उदाहरण के लिए, आप बटन की क्षैतिज पंक्ति और बटनों के एक स्टैक्ड कॉलम के बीच स्विच कर सकते हैं, क्योंकि अब आपके पास विभिन्न आकार कक्षाओं के लिए अलग-अलग ऑटोलायआउट नियम हो सकते हैं)। एक बार जब आप महसूस करते हैं कि आपको सभी आकार वर्गों के लिए एक ही ऑटोलायआउट नियमों का उपयोग करने की आवश्यकता नहीं है, तो यह तकनीक बेहद शक्तिशाली है।

  3. अलग-अलग समर्थित संकल्पों आदि के लिए पूर्व-प्रस्तुत ग्राफिक्स को स्वचालित रूप से स्विच करने के लिए संपत्ति कैटलॉग। ध्यान दें कि चूंकि कई पुराने डिवाइस वास्तव में आईओएस 8 का समर्थन नहीं करते हैं, इसलिए आपको वास्तव में कम-रेज संस्करणों को शामिल करने की आवश्यकता नहीं है जब तक कि आपको व्यापक पिछड़ा संगतता की आवश्यकता न हो (और यदि आप करते हैं, तो सभी आकार वर्ग सुविधाएं उपलब्ध नहीं हैं वैसे भी)। मैंने अभी ऐप का एक नया संस्करण बनाया है जो केवल आईओएस 8 का समर्थन करता है, क्योंकि पुराने संस्करणों के उपयोगकर्ताओं को ऐप का पिछला संस्करण मिल जाएगा।

  4. आकार बदलने योग्य छवियां: अब आप छवियों के भीतर आकार बदलने योग्य क्षेत्रों को निर्दिष्ट कर सकते हैं ताकि यह नियंत्रित किया जा सके कि वे UIButtons, आदि जैसी चीजों पर कैसे लागू होते हैं, जो ऑटोलायआउट नियमों के अनुसार आकार बदल सकते हैं। (यह एक फीचर एंड्रॉइड के पास थोड़ी देर के लिए है, इसलिए आईओएस पर इसका स्वागत है।) इसका मतलब यह है कि आप विभिन्न आकारों के बिना स्क्रीन आकारों की विस्तृत विविधता पर चीजों को अच्छे लग सकते हैं या आकार के बराबर सटीक नियंत्रण के बिना यूआई तत्वों के।

  5. व्यू कंट्रोलर में प्रोग्रामेटिक कोड किसी भी अन्य तरीके से ट्विक करने के लिए प्रोग्राम नियंत्रक कोड।

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

+0

अरे, बहुत अच्छे अंक! यह सब सूचीबद्ध करने के लिए बहुत बहुत धन्यवाद! –

0

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

छोटे समायोजन के लिए, आप प्रति लेआउट के विभिन्न लेआउट के साथ ऑटो लेआउट का उपयोग करते हैं, और प्रत्येक आकार वर्ग में विभिन्न स्क्रीन आकार ऑटो लेआउट द्वारा संभाले जाते हैं।

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