2012-09-20 37 views
29

Quy ước đặt tên mới cho hình ảnh cho màn hình võng mạc 4 inch là gì?Điều gì để đặt tên hình ảnh cho kích thước màn hình iPhone 5?

Để có hình ảnh có tên background.png bạn thêm @ 2x vào tên ([email protected]) để yêu cầu iOS sử dụng thiết bị đó cho thiết bị có màn hình võng mạc.

Hậu tố sẽ là gì đối với kích thước màn hình của iPhone 5?

+0

Xem http://stackoverflow.com/questions/12518879/extend-app-for-iphone-5-best-practice để biết thông tin có liên quan, đó là chỉ "quy ước" dường như tồn tại. Nếu không, tiếp tục sử dụng @ 2x như trước đây. –

Trả lời

61

Bạn có thể sử dụng #define s của tôi để giúp bạn với những hình ảnh này:

#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)]) 

Chỉ cần cho hình ảnh của bạn ký hiệu [email protected], và sử dụng iPhone568ImageNamed để có được một tên cho tên tiêu chuẩn hoặc iPhone 5/iPod mới.

Cách sử dụng ví dụ từ các ý kiến:

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

Hỏi: Nếu tên được chuyển vào là "foo.png" thì cuối cùng nó có chuyển thành "foo.png-568h" không? –

+7

Ahh, chuyện này thì sao? #define iPhone568ImageNamed (hình ảnh) (isPhone568? [NSString stringWithFormat: @ "% @ - 568h.% @", [image stringByDeletingPathExtension], [image pathExtension]]: image) –

+0

Đó là một ý tưởng hay, tôi sẽ thêm nó vào câu trả lời . –

Các vấn đề liên quan