您的位置:首页 > 职场人生

针对iphone手机版本的图片应用问题

2011-08-08 14:30 288 查看
假如有程序中有图片 Default.png, Default@2x.png,

@2x的图片通常比相对应的图片大一倍.

使用语句 UIImage* img = [UIIMage imageName:@"Default.png"];

程序运行在iphone 4等有高清屏幕的机器上面, 会首先判断有没有对应的@2x图片, 有的话就加载, 没有的话, 就直接加载Default.png

程序运行在iphone 3GS等没有高清屏幕的机器上面, 就直接加载Default.png

这样的话, 程序可以同时运行在iphone4, 并兼容之前的机. 运行在iphone4上面, 也可以取得iphone4高清屏幕的好处.

从icon说起

命名方法,举例

Icon.png

57×57

Icon-72.png 72×72

Icon-Small.png 29×29

Icon-Small-50.png 50×50

Icon@2x.png 114×114

Icon-Small@2x.png 58×58



iTunesArtwork 512×512

在info.plist使用key CFBundleIconFiles,注意与CFBundleIconFile区分开,CFBundleIconFiles的优先级高于CFBundleIconFile

省略扩展名,直接写Icon,会自动识别

如果要加扩展名,必须把所有的图片名都添加到CFBundleIconFiles的array中

特别需要注意的是,如果想自动识别,命名必须严格按照标准,且key为string类型。如果不自动识别,key为array类似并将完整文件名添加进去

Default命名方法

<basename><orientation_modifier><scale_modifier><device_modifier>.png

这个就不多说了,方法和icon是一样的,只列出相关的后缀

<basename>默认为Default,也可用UILaunchImageFile key设置,在这用Default举例

<orientation_modifier> 旋转方向

-PortraitUpsideDown

-LandscapeLeft

-LandscapeRight

-Portrait

-Landscape

None

也就是说你可以Default-Portrait.png 来表示竖屏时的加载图像,同样也可以直接Default.png不指定方向

<scale_modifier>依然是为iphone4准备,用法和icon雷同

Default-Portrait.png与Default-Portrait@2x.png会自动识别

<device_modifier>区分设备,有2个值

~iphone

~ipad

Default-Portrait~iphone.png与Default-Portrait~ipad.png会自动判断设备 同样需要注意的一点,这个在icon里面同样适应,但是貌似现在没有使用的必要,看来未来ipad的分辨率也会扩充一倍?

如果使用了Custom URL Schemes,不多说了,格式如下,用法同上

<basename>-<url_scheme><scale_modifier><device_modifier>.png

如:

Default-myscheme.png与Default-myscheme@2x.png

图片:

如果你的资源目录下有Button.png与Button@2x.png两张图片

那么使用:

UIImage* anImage = [UIImage imageNamed:@"Button.png"];

将会自动识别图片加载
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  职场 图片 移动开发
相关文章推荐