2012-09-20 5 views
29

Wie lautet die neue Namenskonvention für Bilder für das 4-Zoll-Retina-Display?Welche Bilder sollten für die Bildschirmgröße von iPhone 5 benannt werden?

Für ein Bild background.png namens Sie @ 2x auf den Namen ([email protected]) in iOS zu sagen, dass man für Geräte mit der Retina-Display zu verwenden.

Was wäre das Suffix für die Bildschirmgröße des iPhone 5?

+0

Siehe http://stackoverflow.com/questions/12518879/extend-app-for-iphone-5-best-practice zu verwandten Informationen, die die einzige ist "Konvention" scheint zu existieren. Ansonsten verwenden Sie @ 2x wie zuvor. –

Antwort

61

Sie können meine #define s verwenden Sie mit diesen Bildern zu helfen:

#define isPhone568 ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone && [UIScreen mainScreen].bounds.size.height == 568) 
#define iPhone568ImageNamed(image) (isPhone568 ? [NSString stringWithFormat:@"%@-568h.%@", [image stringByDeletingPathExtension], [image pathExtension]] : image) 
#define iPhone568Image(image) ([UIImage imageNamed:iPhone568ImageNamed(image)]) 

einfach Ihre Bilder die [email protected] Notation geben, und iPhone568ImageNamed verwenden Sie einen Namen für Standardnamen oder iPhone zu bekommen 5/neuer iPod.

Anwendungsbeispiel aus den Kommentaren:

self.view.backgroundColor = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:iPhone568ImageNamed(@"mainscreen.png")]]; 
+0

F: Wenn der Name als "foo.png" übergeben wird, wird er nicht stattdessen in "foo.png-568h" umgewandelt? –

+7

Ahh, was ist damit? #define iPhone568ImageNamed (Bild) (isPhone568? [NSString stringWithFormat: @ "% @ - 568h.% @", [Bild stringByDeletingPathExtension], [image pathExtension]]: image) –

+0

Das ist eine nette Idee, ich werde es der Antwort hinzufügen . –

Verwandte Themen