Vik*_*hit 8 iphone xcode objective-c uiimage ios
如何使用ios 8.x兼容性在Xcode 6中为MyimageView设置相应的MYimage.png.
MyimageView setImage:[UIImage imageNamed:@"MYimage.png"];
Run Code Online (Sandbox Code Playgroud)
在参考资料中,我有以下分辨率的图像:
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
Run Code Online (Sandbox Code Playgroud)
对于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
Run Code Online (Sandbox Code Playgroud)
对于iPhone 4s,它显示: MYimage@2x.png [Right]
对于iPhone 5s,它显示: MYimage@2x.png [wrong]
对于iPhone 6,它显示: MYimage@2x.png [wrong]
对于iPhone 6 +,它显示: MYimage@3x.png [Right]
那么,所实施的格式是什么?
注意:也用Google搜索 链接等等.
iOS仅支持启动图像的大小符号,例如,此页面描述了格式Default-568h@2x.png等3.5",4"和iPad的用法.
你实际上只能支持的是@ 2x和@ 3x(见这里),它解释了为什么在你看到的每个设备上它只能获得@ 2x和@ 3x pngs.
最后,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] |
|________|
Run Code Online (Sandbox Code Playgroud)
如果您正在UIImageView中显示照片,您可以创建最大尺寸,然后让它缩小到iPhone 5(使用UIViewContentModeScaleAspectFill)或保持原样(使用UIViewContentModeCenter).
最后,您真的不希望必须为每个设备管理特定维度 - 如果您为每个元素包含2个高分辨率资产,则需要大量存储空间.为每个设备添加一个是不必要的,Apple从来没有打算这样做.
您无需指定图像所用的屏幕尺寸,而只需指定它的密度.
有3个密度组:
对于每个组,您应该添加一个以模式命名的图像"file_name@density.ext",其中密度可以省略1x.
例子:
为了更好地使用和组织图像资源,您应该考虑使用资产目录.它们还可以帮助您了解所需的图像大小,具体取决于您将支持哪些设备,您无需关心每个文件名.
| 归档时间: |
|
| 查看次数: |
12604 次 |
| 最近记录: |