सभी iOS उपकरणों पर विश्वसनीय रूप से रेटिना डिस्प्ले का पता लगाने के लिए, आपको यह जांचने की आवश्यकता है कि क्या डिवाइस iOS4 + चल रहा है और यदि [UIScreen mainScreen].scale
संपत्ति 2.0 के बराबर है। आप मान सकते हैं कि कोई उपकरण iOS4 + चला रहा है यदि scale
संपत्ति मौजूद है, क्योंकि iPad 3.2 में भी यह संपत्ति है।
IOS3.2 पर चलने वाले iPad पर, स्केल 1x मोड में 1.0 और 2x मोड में 2.0 वापस आ जाएगा - भले ही हम जानते हैं कि डिवाइस में रेटिना डिस्प्ले नहीं है। Apple ने iPad के लिए iOS4.2 में इस व्यवहार को बदल दिया: यह 1x और 2x दोनों मोड में 1.0 देता है। आप इसे सिम्युलेटर में खुद का परीक्षण कर सकते हैं।
मैं -displayLinkWithTarget:selector:
उस मुख्य स्क्रीन पर विधि के लिए परीक्षण करता हूं जो iOS4.x में मौजूद है लेकिन iOS3.2 में नहीं है, और फिर स्क्रीन के पैमाने की जांच करें:
if ([[UIScreen mainScreen] respondsToSelector:@selector(displayLinkWithTarget:selector:)] &&
([UIScreen mainScreen].scale == 2.0)) {
// Retina display
} else {
// non-Retina display
}