2013-12-09 8 views
5

Xcode's Standard Images.xcassets Datei hat einen Steckplatz für LaunchImage, wo für eine iPhone-Porträt-App gibt es 5 mögliche Steckplätze.Startabbild von xcassets Datei hat falsche Größe

Entsprechend documentation, um ein Bild richtig aus der xcassets Datei sortiert zu bekommen, verwenden Sie einfach [UIImage imageNamed:].

jedoch läuft den folgenden Code auf dem iPhone Retine (4 Zoll) Simulator:

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

erzeugt die folgende Ausgabe:

{320, 480} 

, die offensichtlich die falsche Größe ist.

Ich habe sichergestellt, dass die Zuordnungen in der xcassets-Datei korrekt sind und alle Dimensionen bestätigt haben. Es scheint auch, dass ich ein bestimmtes Bild von einem gegebenen Satz in der xcassets-Datei nicht anfordern kann, was bedeutet, dass ich nicht tun kann: [UIImage imageNamed:@"LaunchImageR4"].

Und da die Dateien zu einer XCASESET-Datei hinzugefügt werden, habe ich auch keinen Zugriff auf die RAW-Bilddateien, so dass eine benutzerdefinierte Lösung nicht in Frage kommt.

Hat jemand eine Idee, wie ich dieses Problem lösen würde?

Antwort

-1

Ich glaube, dass das korrekte Startbild automatisch beim Start geladen wird. Es ist nicht beabsichtigt, während der Laufzeit von xcassets gezogen werden. Da es zur Laufzeit ist, müssen Sie selbst überprüfen, welches Gerät verwendet wird, da der Bildkatalog nur so eingerichtet ist, dass er Netzhaut gegen Nicht-Netzhaut mit dem @ 2x Postfix (nicht die Größe des Geräts) zieht.

Sie können this post verwenden, um zu ermitteln, welches Gerät verwendet wird, und das richtige Abbild anhand des Namens laden.

+0

Ja, aber ich habe keinen Zugriff auf die rohen Startbilddateien. Meine Start-Image-Dateien heißen 'AppSplash.png', aber wenn ich mit UIImage darauf zugreifen würde, würde es leer werden. Daher würde Ihre Lösung nicht funktionieren. – Snowman

0

Startbilder sind eine besondere Art von Bildsätzen. Sie können [UIImage imageNamed:@"LaunchImage"] nicht verwenden, um das richtige Startbild zu erhalten, das zu Ihrem Gerät passt (z. B. iPhone 3 ", 4" oder iPad + Retina).

+0

Ich verstehe nicht, was deine Antwort sagt. Du sagst mir nur, dass ich nicht kann? – Snowman

+0

Nicht 'imageNamed:' Wenn Sie wissen wollen, ob Sie auf einem 4 "Display sind, dann überprüfen Sie einfach, ob [UIScreen mainScreen] .bounds.size.height == 568.0f' und dann müssen Sie manuell auswählen das richtige Bild. –

Verwandte Themen