iphone 6 vs iphone 5图像命名约定
如何在ios 8.x兼容性中为Xcode 6中的MyimageView设置相应的MYimage.png 。
MyimageView setImage:[UIImage imageNamed:@"MYimage.png"];
在资源中,我有以下决议的图像:
MYimage.png--320*480 MYimage@2x.png--640*960 MYimage-568h@2x.png--640*1136 MYimage-375h@2x.png--750*1334 MYimage-736h@3x.png--1242*2208
对于iPhone 4s,它显示: MYimage@2x.png [Right]
对于iPhone 5s,它显示: MYimage@2x.png [wrong]
对于iPhone 6,它显示: MYimage@2x.png [wrong]
对于iPhone 6 +,它显示: MYimage@2x.png [wrong]
但重命名后的图像如下所述:
MYimage.png--320*480 MYimage@2x.png--640*960 MYimage-568h@2x.png--640*1136 MYimage-375h@2x.png--750*1334 MYimage@3x.png--1242*2208
对于iPhone 4s,它显示: MYimage@2x.png [Right]
对于iPhone 5s,它显示: MYimage@2x.png [wrong]
对于iPhone 6,它显示: MYimage@2x.png [wrong]
对于iPhone 6 +,显示: MYimage@3x.png [Right]
那么,实现的格式是什么?
注意:也可以按照链接等进行search。
iOS仅支持启动图像的大小符号,例如本页面描述了3.5“,4”和iPad格式为Default-568h@2x.png
等的使用情况。
你实际上只能支持的是@ 2x和@ 3x(见这里 ),这就解释了为什么在你看到的每个设备上只能select@ 2x和@ 3x PNG。
最后, MYimage@Xx.png--w*h
是一个有效的尺寸表示; 当您引用名为MYimage.png
的图像时,系统不会自动读取这些文件; 最多可以做MYimage@2x.png
和MYimage@3x.png
。
回答你的问题如下:
iPhone 6和iPhone 5都以相同的像素密度渲染 。 UI元素应该在两个设备上以相同的点大小在UI中正确定位。
例如:
iPhone 5 iPhone 6 | | | | | | | | | | | | |[bttn]| | | |______| | [bttn] | |________|
但是,如果您在UIImageView中显示照片,则可以创build最大尺寸,并将其缩小到iPhone 5(使用UIViewContentModeScaleAspectFill
)或保持原样(使用UIViewContentModeCenter
)。
最后,你真的不希望为每一个设备pipe理特定的尺寸 – 如果你为每个元素包含2个高分辨率的资源,那么这是非常多的存储空间。 为每个设备添加一个是不必要的,苹果从来没有这样想过。
您不需要指定图像的屏幕大小,而只需指定它的密度。
有3个密度组别:
- 1x:iPhone 3GS和以前; iPod Touch第三代和以前; iPad 2和以前; iPad迷你第一代;
- 2x:iPhone 4,4S,5,5S和6; iPod Touch第四代和第五代; iPad 3和更新; iPad迷你第二代;
- 3倍:iPhone 6 Plus;
对于每个组,您应添加一个名为"file_name@density.ext"
的图像,其中密度可以省略1x。
例子:
- logo.png
- logo@2x.png
- logo@3x.png
为了更好地使用和组织图像资源,您应该考虑使用资产目录 。 他们还将帮助您了解您需要的图像大小,具体取决于您将支持的设备,而且您不需要关心每个单独的文件名。