2013-12-09 13 views
5

एक्सकोड का डिफ़ॉल्ट Images.xcassets फ़ाइल LaunchImage के लिए एक स्लॉट है, जहां एक पोर्टफ़ोन आईफोन ऐप के लिए 5 संभावित स्लॉट हैं।xcassets फ़ाइल से लॉन्च छवि प्राप्त करना गलत आकार

documentation के अनुसार, छवि को xcassets फ़ाइल से ठीक से आकार देने के लिए, बस [UIImage imageNamed:] का उपयोग करें।

हालांकि, iPhone Retine (4 इंच) सिम्युलेटर पर निम्नलिखित कोड चलाने:

UIImage *splashImage = [UIImage imageNamed:@"LaunchImage"]; 
NSLog(@"%@", NSStringFromCGSize(splashImage.size)); 

निम्नलिखित उत्पादन का उत्पादन:

{320, 480} 

जो स्पष्ट रूप से गलत आकार है।

मैंने यह सुनिश्चित किया है कि xcassets फ़ाइल में मैपिंग सही हैं, और सभी आयामों की पुष्टि की है। ऐसा लगता है कि मैं xcassets फ़ाइल में दिए गए सेट से किसी विशिष्ट छवि का अनुरोध नहीं कर सकता, जिसका अर्थ है कि मैं नहीं कर सकता: [UIImage imageNamed:@"LaunchImageR4"]

और चूंकि फ़ाइलों को xcassets फ़ाइल में जोड़ा जाता है, इसलिए मुझे कच्चे छवि फ़ाइलों तक पहुंच नहीं है, इसलिए एक कस्टम समाधान प्रश्न से बाहर निकलता है।

क्या किसी को पता है कि मैं इस मुद्दे को कैसे हल करूं?

उत्तर

-1

मुझे विश्वास है कि सही लॉन्च छवि स्वचालित रूप से स्टार्टअप पर लोड हो जाती है। यह रनटाइम के दौरान xcassets से खींचा जाने वाला नहीं है। चूंकि यह रनटाइम पर है, इसलिए आपको अपना स्वयं का चेक करना होगा कि किस डिवाइस का उपयोग किया जा रहा है, क्योंकि छवि कैटलॉग केवल @ 2x पोस्टफिक्स (डिवाइस का आकार नहीं) का उपयोग करके रेटिना बनाम गैर-रेटिना खींचने के लिए सेटअप है।

आप this post का उपयोग यह निर्धारित करने के लिए कर सकते हैं कि कौन सा डिवाइस उपयोग किया जा रहा है और नाम से सही छवि लोड करें।

+0

हां लेकिन मेरे पास कच्चे लॉन्च छवि फ़ाइलों तक पहुंच नहीं है। मेरी लॉन्च छवि फ़ाइलों को 'AppSplash.png' कहा जाता है, लेकिन अगर मैं इसे UIImage के साथ एक्सेस करना चाहता था, तो यह खाली हो जाएगा। इसलिए आपका समाधान काम नहीं करेगा। – Snowman

0

लॉन्च छवियां एक विशेष प्रकार की छवि सेट हैं। आप अपने डिवाइस (यानी आईफोन 3 ", 4" या आईपैड + रेटिना) के अनुरूप सही लॉन्च छवि प्राप्त करने के लिए [UIImage imageNamed:@"LaunchImage"] का उपयोग नहीं कर सकते हैं।

+0

मुझे समझ में नहीं आता कि आपका जवाब क्या कह रहा है। तुम बस मुझे बता रहे हो कि मैं नहीं कर सकता? – Snowman

+0

'imageNamed का उपयोग नहीं कर रहा है: 'यदि आप जानना चाहते हैं कि आप 4" डिस्प्ले पर हैं या नहीं तो बस जांचें कि' [यूआईस्क्रीन मुख्यस्क्रीन] .bounds.size.height == 568.0f' और फिर आपको मैन्युअल रूप से चयन करना होगा सही छवि –

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