如何为iPhone 5屏幕尺寸命名图像?

Nir*_*rma 29 iphone cocoa-touch ios ios6 ios7

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

对于名为的图像,background.png您将@ 2x添加到name(background@2x.png)以告知iOS将其用于具有视网膜显示的设备.

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

Leo*_*ica 61

您可以使用我的#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)])
Run Code Online (Sandbox Code Playgroud)

只需给你的图像-568h@2x.png符号,并iPhone568ImageNamed用来获得标准名称或iPhone 5 /新iPod的名称.

评论中的用法示例:

self.view.backgroundColor = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:iPhone568ImageNamed(@"mainscreen.png")]];
Run Code Online (Sandbox Code Playgroud)

  • 啊,这个怎么样?#define iPhone568ImageNamed(image)(isPhone568?[NSString stringWithFormat:@"%@ - 568h.%@",[image stringByDeletingPathExtension],[image pathExtension]]:image) (7认同)
  • 具有背景模式的示例:`self.view.backgroundColor = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:iPhone568ImageNamed(@"mainscreen.png")]];` (2认同)