2013-02-23 54 views
5

मैं एक सार्वभौमिक ऐप विकसित कर रहा हूं। मैं जानना चाहता हूं कि आईपैड में स्क्रीन संकल्प (320 * 480) और आईपैड में (768 * 1024) सभी आईफोन (आईफोन 3 जी, आईफोन 4 आदि) के लिए काम करेगा। और सभी आईपैड.क्योंकि इन स्क्रीन संकल्पों के आधार पर मैं टेक्स्टफ़िल्ड्स, आईआईएलएबल की चौड़ाई दोनों आईफोन और आईपैड में स्थापित कर रहा हूं। क्या ये काम रेटिनास और नॉनरेटीनास के लिए करेंगे?आईफोन और आईपैड स्क्रीन रेज़ोल्यूशन

उत्तर

15

रेटिना आईफ़ोन और आईपैड गैर-रेटिना डिवाइस के समान समन्वय प्रणाली का उपयोग करते हैं। वर्तमान में सभी आईपैड में 768x1024 का तार्किक समन्वय स्थान है, और आईफोन 5 को छोड़कर सभी आईफोनों में 320x480 का तार्किक समन्वय स्थान है। आपका कोड रेटिना और गैर-रेटिना दोनों डिवाइसों पर ठीक काम करना चाहिए।

एक आईफोन 5 पर, आपका ऐप स्क्रीन के शीर्ष पर काले सलाखों के साथ दिखाया जाएगा जबतक कि आप आईओएस नहीं बताते कि आप विस्तारित स्क्रीन रिज़ॉल्यूशन के लिए Default.png सहित पूर्ण स्क्रीन का उपयोग करना चाहते हैं।

आप [[UIScreen mainScreen] bounds] के साथ स्क्रीन रिज़ॉल्यूशन की जांच कर सकते हैं। यह मान रेटिना और गैर-रेटिना उपकरणों पर समान होगा। आप [[UIScreen mainScreen] scale] के मान की जांच करके रेटिना डिवाइस का पता लगा सकते हैं; यहां मूल्य तार्किक समन्वय अंतरिक्ष (गैर-रेटिना के लिए 1.0, रेटिना के लिए 2.0) की प्रति इकाई भौतिक पिक्सेल की संख्या है।

+0

हाँ मैं iPad के लिए एक ही 768x1024 और 320x480 (के लिए iPhone) यह मतलब है कि कोई अन्य iPhone5 के बारे में रेटिना और nonretina .Does के लिए cordinates यह झुकाव में अंतर (पोर्ट्रेट और लैंडस्केप) बनाते हैं? और क्या रखा है? चाहिए मैं अपने विनिर्देशों के लिए कोड फिर से बदलता हूं? –

+1

आपके यहां बहुत सारे प्रश्न हैं। मेरा सुझाव है कि आप UIViewController पर ऐप्पल के दस्तावेज़ों को पढ़कर शुरू करें: http://developer.apple.com/library/ios/#documentation/uikit/reference/UIViewController_Class/Reference/Reference.html, जिसमें इनमें से कई विषयों को शामिल किया गया है। –

1

UIKit और CoreGraphics पिक्सेल के बजाए अंक के साथ काम करते हैं।

दोनों रेटिना और गैर-रेटिना उपकरणों में अंक की एक ही संख्या है, लेकिन पिक्सेल की एक अलग मात्रा है। इसका मतलब है कि एक ही बिंदु मान अलग-अलग उपकरणों पर एक अलग पिक्सेल मान का मतलब हो सकता है।

अपने प्रश्न का उत्तर देने के लिए, हाँ वही लेआउट UILabel चौड़ाई रेटिना और गैर रेटिना उपकरणों पर प्रदर्शित होगी।

Apple डेवलपर प्रलेखन से: http://developer.apple.com/library/ios/documentation/windowsviews/conceptual/viewpg_iphoneos/WindowsandViews/WindowsandViews.html#//apple_ref/doc/uid/TP40009503-CH2-SW15

-1

तुम हमेशा पाने के लिए क्षमताओं का उपयोग कर सकते हैं:

In iOS, all coordinate values and distances are specified using floating-point values in units referred to as points. The measurable size of a point varies from device to device and is largely irrelevant. The main thing to understand about points is that they provide a fixed frame of reference for drawing.

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

var pattern:RegExp = /iphone5/i; 
var str:String = Capabilities.os; 

if (str.search(pattern)==0) 
{ 
    trace('iPhone5 Detected. Alter height.'); 
}else{ 
    trace('No need to change dimensions if developing at 960x640'); 
}