2012-07-16 9 views
13

के भीतर छवि नहीं मिलती है मेरे एक्सकोड प्रोजेक्ट में मेरे पास एक नीला संदर्भित फ़ोल्डर है जो छवियों वाले फ़ोल्डर को इंगित करता है।UIImage imageNamed: नीले संदर्भित Xcode-folder

नीले फ़ोल्डर का लाभ यह है कि मुझे फ़ाइलों को मैन्युअल रूप से एक्सकोड में जोड़ने की आवश्यकता नहीं है। तो जब मैं फ़ोल्डर में एक नई छवि को जोड़ने यह स्वचालित रूप से Xcode में, से पता चलता तथापि, जब मैं

[UIImage imageNamed:@"myFileFromTheBlueFolder"]; 

का उपयोग कर कोड से फ़ाइल संदर्भ के लिए हालांकि शीर्ष-स्तरीय फ़ोल्डर है यह छवि नहीं मिल रहा है की कोशिश लक्ष्य में जोड़ा गया। मुझे लगता है :-(

मैं छवि को अलग ढंग से जब मैं एक नीले फ़ोल्डर, जो IMHO बिल्कुल इस तरह के एक फ़ोल्डर होने का उद्देश्य विफल हो जाएगा से आ रही है संदर्भ के लिए है।

+0

छवि दिखाने अपने Xcode फ़ाइल संरचना का एक स्क्रीनशॉट जोड़े – nduplessis

+1

आप की कोशिश की है साफ? हमेशा नीले रंग के फ़ोल्डरों के साथ बहुत साफ करना पड़ता है – Martin

+0

"नीला" फ़ोल्डर एक निर्देशिका है। आप 'imageNamed' पैरामीटर में उस पथ को शामिल करने (या करना) में सक्षम हो सकते हैं। अन्यथा, आपको केविन बल्लार्ड के सुझावों का पालन करना होगा। आपको अपनी फाइल के विस्तार की भी आवश्यकता है। – Rob

उत्तर

9

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

इस तरह, +[UIImage imageNamed:] छवि नहीं मिल सका क्योंकि यह उपनिर्देशिका में पुन: कार्य नहीं करता है। आप 0 का उपयोग कर सकते हैं संसाधन के लिए पथ प्राप्त करने के लिएऔर +[UIImage imageWithContentsOfFile:] पर पास करें, लेकिन यह स्मृति अनुकूलन को त्याग देता है जो +imageNamed: है (उदा। जहां यह छवियों का उपयोग करता है और अप्रयुक्त छवियों को छोड़ देता है)।

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

+0

आपके स्पष्टीकरण के लिए बहुत बहुत धन्यवाद। मुझे लगता है कि मैं तब समूह के साथ रहूंगा। मैं ऐप्पलस्क्रिप्ट या इस तरह के समूह को स्वचालित रूप से समूह में फ़ाइलों को जोड़ने का प्रबंधन कर सकता हूं। ताकि मुझे नीले रंग के फ़ोल्डरों से लाभ मिले। – Besi

+0

@ बेसी: आप अपने प्रोजेक्ट में एक्सकोड के बाहर फाइल क्यों जोड़ रहे हैं? एक्सकोड का उपयोग करके ऐसा करने के लिए फ़ाइलों को जोड़ने वाले किसी भी व्यक्ति को सिखाने के लिए यह आसान हो सकता है। –

+0

मुझे फ़ोल्डर संदर्भों का उपयोग करना होगा क्योंकि मेरे कुछ छवि संसाधनों का एक ही नाम है। तो मेरे मामले में, मैं ** मेमोरी अनुकूलन ** कैसे प्राप्त/रख सकता हूं? – Vasu

-9

छवि का पूरा नाम लिखें।

[UIImage imageNamed:@"myFileFromTheBlueFolder.png"]; 

भी असंवेदनशील नामों के मामले में ध्यान रखें।

23

केविन स्मृति स्मृति अनुकूलन के बारे में सही है जो +[UIImage imageNamed:] प्रदान करता है, लेकिन ब्लू फ़ोल्डर्स (फ़ोल्डर संदर्भ) में छवियों तक पहुंच बनाना बिल्कुल संभव है। आपको बस इतना करना है कि फ़ोल्डर का नाम छवि नाम में जोड़ना है। उदाहरण के लिए:

आपका संसाधनों इस तरह का आयोजन किया जाता:

Icons (blue folder/folder reference) 
    |__camera.png 
    |__checkmark.png 
Shared (yellow folder/xcode group) 
    |__back.png 
    |__logo.png 

आप इस तरह छवियों का उपयोग कर सकते हैं:

[UIImage imageNamed:@"Icons/camera"]; 
[UIImage imageNamed:@"Icons/checkmark"]; 

[UIImage imageNamed:@"back"]; 
[UIImage imageNamed:@"logo"]; 
+0

UIImage (नाम: "बिल्लियों/\ (imageName) .png ") –

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