2012-04-09 15 views
5

मैंने नए आईपैड रेटिना डिस्प्ले के लिए अपने ऐप को अपडेट करने का प्रयास करते समय एक दिलचस्प बात देखी, इंटरफ़ेस बिल्डर में प्रत्येक समन्वय अभी भी मूल 1024x768 रिज़ॉल्यूशन पर आधारित है।आईपैड रेटिना डिस्प्ले के लिए एक्सकोड समन्वय

मेरा मतलब यह है कि यदि मेरे पास 2048x1536 छवि है, तो इसे डिस्प्ले पर पूरी स्क्रीन फिट करने के लिए मुझे इसका आकार 1024x768 पर सेट करना होगा और 2048x1536 नहीं होगा।

मैं सिर्फ जानबूझकर यह जानबूझकर हूं? क्या मैं रेटिना के लिए विशिष्ट होने के लिए इंटरफ़ेस बिल्डर में समन्वय प्रणाली स्विच कर सकता हूं? यह थोड़ा परेशान है क्योंकि मेरे कुछ ग्राफिक्स उनके मूल से चौड़ाई या ऊंचाई में बिल्कुल 2x नहीं हैं। मैं 1/2 समन्वय संख्याओं को सेट नहीं कर सकता जैसे कि 1.5 यह इंटरफ़ेस बिल्डर के अंदर या तो 1 या 2 हो सकता है।

क्या मुझे इस बिंदु पर कोड में अपना इंटरफ़ेस डिज़ाइन करना चाहिए और इंटरफ़ेस निर्माता को भूलना चाहिए? मेरे ग्राफिक्स को दोनों दिशाओं में बिल्कुल 2x रखें? या बस इसके साथ रहो?

उत्तर

4

आईओएस पर इंटरफ़ेस अंक पर आधारित है, पिक्सल नहीं। छवियों को मूल के आकार 2x होना चाहिए। बनाम

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

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

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

से http://developer.apple.com/library/ios/#documentation/2DDrawing/Conceptual/DrawingPrintingiOS/GraphicsDrawingOverview/GraphicsDrawingOverview.html

1

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

आईफोन के लिए, स्क्रीन हमेशा 480 x 320 अंक है। आईपैड के लिए, यह 1024 x 768 है। यदि आपके ग्राफिक्स डिवाइस के लिए ठीक से स्केल किए गए हैं, तो कोड में निपटने के लिए प्रभाव मुश्किल नहीं है। मैं एक ग्राफिक डिजाइनर नहीं हूं, और यह हाय-रेज के लिए खाते के कई सेट, लॉन्च इमेज इत्यादि प्रदान करने के लिए थोड़ा चुनौतीपूर्ण साबित हुआ है।

कुछ छवि प्रकार है कि अपने कोड पर प्रभाव को कम करने के लिए

एप्पल नामकरण किया गया है मानकों:

https://developer.apple.com/library/ios/#DOCUMENTATION/UserExperience/Conceptual/MobileHIG/IconsImages/IconsImages.html

कि तुम मदद नहीं करता है जब आप कस्टम ग्राफिक्स इनलाइन साथ काम कर रहे है, लेकिन।

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