iOS图像命名约定

Cor*_*rey 8 cocos2d-iphone ios

我在iOS开发方面比较新.

我目前正在使用可用于iPad Retina,iPad,iPhone 5和iPhone 4s/4的cocos2d库构建应用程序.

我正在设置所有图像,我正在试图找出命名约定.

有谁知道那里的指南可以帮助我吗?

说我有一个background.png.

据我所知:

  • background.png - > iPhone(非视网膜/后备)
  • background-hd.png - > iPhone 4s/4(视网膜)
  • background-ipad.png - > iPad(非视网膜)
  • background-ipadhd.png - > iPad(视网膜)

所有其他文件都使用相同的命名约定?例如:

  • arbitraryButton.png - > iPhone(非视网膜/后备)
  • arbitraryButton-hd.png - > iPhone 4s/4(视网膜)
  • arbitraryButton-ipad.png - > iPad(非视网膜)
  • arbitraryButton-ipadhd.png - > iPad(视网膜)

我怎么命名iPhone 5文件?

我搜索了一下,似乎找不到任何有形的指南.

谢谢!

WDU*_*DUK 10

操作系统有一个您可以使用的命名约定(并强制执行,意味着您只需要引用该文件@"fileName").文档可在此处获得.

  • fileName.png - > iPhone(非视网膜/后备)
  • fileName@2x.png - > iPhone 4s/4(视网膜)
  • fileName~ipad.png - > iPad(非视网膜)
  • fileName@2x~ipad.png - > iPad(视网膜)

注意:~iphone也存在,可以和/而不是使用~ipad一起使用.同时使用~ipad和~iphone可以防止Apple可能引入的第三个习语.咳嗽电视咳嗽

对于iPhone 5,操作系统不强制执行命名方案.但是,使用与发射图像相同的方案可能是明智的.

  • fileName-568h@2x.png - > iPhone 5

要在整个应用程序中轻松处理此问题,您可以创建一个类别,并在您知道将拥有iPhone 5友好图像以及常规尺寸图像的地方使用它.可以制作一个简单的版本,如下所示.

的UIImage + iPhone5Image.h

#import <UIKit/UIKit.h>

@interface UIImage (iPhone5Image)

+ (UIImage*)iPhone5ImageNamed:(NSString*)imageName;

@end
Run Code Online (Sandbox Code Playgroud)

的UIImage + iPhone5Image.m

#import "UIImage+iPhone5Image.h"

#define IsIPhone5() ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPhone && [UIScreen mainScreen].bounds.size.height == 568)

@implementation UIImage (iPhone5Image)

+ (UIImage*)iPhone5ImageNamed:(NSString*)imageName
{
    if (IsIPhone5()) {
        NSString* newImageName = [NSString stringWithFormat:@"%@-568h", imageName];
        return [UIImage imageNamed:newImageName];
    }
    else {
        return [UIImage imageNamed:imageName];
    }
}

@end
Run Code Online (Sandbox Code Playgroud)