Universal application iPad/iPhone image naming convention?

前端 未结 5 1754
有刺的猬
有刺的猬 2021-02-07 12:59

In my application I need to get the correct image based on the device iPad/iPhone 4/iPhone 3 device.

For example:

I have an image named a.png (widt

相关标签:
5条回答
  • 2021-02-07 13:38

    There is no image naming convention for iPad, it's only for retina displays so that your images will appear crisp. If you want to support iPad then you need to create a separate layout for it (separate xib), even separate set of images in most cases because you were given a bigger layout.

    You can, however, create a naming convention for yourself and pass the string name to a static function that will convert the name to an iPad / iphone depending on the device.

    E.g.

    [UIImage imageNamed: [MyAppUtils getImageName:@"a.png"]];
    

    and inside the getImageName function, you can do your conversion (use the same name if iphone, else rename to something else)

    0 讨论(0)
  • 2021-02-07 13:44

    I know it is old post, but I think Screenshot gives more clear idea about naming convention.

    enter image description here

    With latest devices: button@3x~iphone.png and button@3x~ipad.png

    0 讨论(0)
  • 2021-02-07 13:47

    According to this Apple doc, there is an image naming convention for devices:

    http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/LoadingResources/ImageSoundResources/ImageSoundResources.html#//apple_ref/doc/uid/10000051i-CH7-SW17

    It says to use "~iphone" for iPhone, and no suffix for iPad. Though anecdotally I have been told that "~ipad" also works.

    0 讨论(0)
  • 2021-02-07 13:49

    I am using a "Resource Manager" that I developed first before creating any application. This Resource Manager can decide about the naming convention after loading the resource configuration files (mostly XML). This way everything is transparent to the programmer of the GUI, you only need to worry about creating the content :)

    0 讨论(0)
  • 2021-02-07 13:55

    Further to Nate's post, the specific documentation from Apple describing the naming convention can be found at:

    Supporting High-Resolution Screens - Updating Your Image Resource Files

    According to the link, the naming convention pattern is as follows:

    • Standard: <ImageName><device_modifier>.<filename_extension>
    • High resolution: <ImageName>@2x<device_modifier>.<filename_extension>

    For example: "MyImage@2x~ipad.png" for a high-res iPad-specific image or "MyImage~iphone.png" for a standard-res iPhone-specific image.

    0 讨论(0)
提交回复
热议问题