29

4 英寸视网膜显示屏图像的新命名约定是什么?

对于命名的图像background.png,您将@2x添加到名称 ( background@2x.png) 以告诉 iOS 将该图像用于具有视网膜显示的设备。

iPhone 5 的屏幕尺寸的后缀是什么?

4

1 回答 1

61

您可以使用 my #defines 来帮助您处理这些图像:

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

只需为您的图像添加 -568h@2x.png 符号,并使用它iPhone568ImageNamed来获取标准名称或 iPhone 5/新 iPod 的名称。

评论中的用法示例:

self.view.backgroundColor = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:iPhone568ImageNamed(@"mainscreen.png")]];
于 2012-09-20T19:05:03.103 回答