UIImage of datei problem

7

Ich versuche, ein gespeichertes Bild zu laden, aber wenn ich das UIImage überprüfe, kommt es als null zurück. Hier ist der Code:

%Vor%

Ich überprüfe dann img, ob es null ist und es ist. Auflisten des Verzeichnisses zeigt die Datei, was mache ich falsch?

    
Phil 27.04.2011, 22:59
quelle

4 Antworten

18

Sie müssen dann auf das Dokumente-Verzeichnis in Ihrer App zeigen:

%Vor%

Verwendung:

%Vor%     
WrightsCS 28.04.2011, 00:57
quelle
7

Zuerst verwenden Sie pathForResource falsch, der richtige Weg wäre:

%Vor%

Die Idee des Bündelns besteht darin, den Ressourcenpfad so zu abstrahieren, dass er immer gültig ist, unabhängig davon, wo sich die App im System befindet. Aber wenn du nur das Bild laden willst, dann würde ich dir imageNamed empfehlen: da es automatisch die Auflösung der Retinaauflösung (hohe Auflösung) auf dem iPhone für dich behandelt und die entsprechende Ressource "automatisch" lädt:

%Vor%

Um die normale und die Retina-Auflösung zu unterstützen, benötigen Sie zwei Ressourcen in Ihrem App-Bundle, 70.jpg und [email protected], wobei die @ 2x-Ressource sowohl mit als auch mit der Höhe verdoppelt wurde.

    
Robin 27.04.2011 23:06
quelle
5

Laden Sie ein UIImage mit:

%Vor%

Es sucht nach einem Bild mit dem angegebenen Namen im Hauptpaket der Anwendung. Auch nett: Es wählt automatisch die Retina ([email protected]) oder nicht-Retina (xyz.png) Version.

    
Julian 27.04.2011 23:06
quelle
3

Ihr Pfad funktioniert einfach nicht, da sich Ihre App in einer Sandbox befindet und Sie versuchen, den vollständigen Pfad zu verwenden.

Sie sollten stattdessen Folgendes verwenden:

  

UIImage *img = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"70" ofType:@"jpg"]];

oder Sie können verwenden, ist aber langsamer als oben:

  

UIImage *img = [UIImage imageNamed:@"70.jpg"];

    
WrightsCS 27.04.2011 23:16
quelle

Tags und Links