2009-08-26 6 views
2

Meine App lädt eine kleine Image-Datei von einem Remote-Server herunter und ich versuche, sie zusammen mit einigen anderen kleinen Image-Dateien anzuzeigen, die in der App vorinstalliert sind. Ich verwende [UIImage imageNamed: @ "TheImageName.png"], um die Bilder zu erhalten (siehe unten für weitere Details). Die vorinstallierten Bilder werden wie erwartet angezeigt, aber das Bild im Verzeichnis "Dokumente" meiner Apps ist nicht zu finden. Sollte ich -imageNamed für ein Bild in "Dokumente" oder eine andere Methode verwenden?Funktioniert UIImage -imageNamed: Methode für Bilddateien, die in 'Dokumente' gespeichert sind?

UIImage* documentsImage = [UIImage imageNamed:@"TheImageName.png"]; 
UIImageView* anImageView = [[UIimageView alloc] initWithImage:documentsImage]; 
[self.view addSubview:anImageView]; 

Antwort

2

Ah, vergiss es. Ich fand, dass die Verwendung von [UIImage imageWithContentsOfFile: filePath] dafür funktioniert. imageNamed gibt nur nil zurück.

+1

Yup, beachten Sie, dass ImageNamed: lädt nicht nur das Bild, es speichert es auch im Speicher. Während imageWithContentsOfFile: nicht. – pablasso

2

Nein, +imageNamed: lädt nur Bilder aus dem App-Bundle.

Fügen Sie auch nicht die Erweiterung .png bei, wenn Sie diese Klassenmethode verwenden.

+1

Genauer gesagt: "Wenn die Datei im Format PNG vorliegt, muss die Dateinamenerweiterung .PNG nicht angegeben werden. Vor iOS 4 müssen Sie die Dateinamenerweiterung angeben." - http://developer.apple.com/library/ios/documentation/UIKit/Reference/UIImage_Class/Reference/Reference.html#//apple_ref/occ/clm/UIImage/imageNamed: –