针对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"];
将会自动识别图片加载
@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"];
将会自动识别图片加载
相关文章推荐
- FinalBitmap在部分手机上listview中加载图片时界面闪退重启应用的问题解决方法
- 【游戏开发备注之一】关于Cocos2dx_v1.x版本iphone与Android运行出现图片白块、添加GameCenter报错问题及编译Android闪退的解决办法&&CCLOG与CClog的区别
- 在lion 中使用xcode4.2.1 和 Core Plot 0.9版本对iphone 手机应用开发 图表
- 安卓图片选择版本问题(华为手机会导致oom)
- 针对iphone手机拍照片旋转90度问题解决
- 【android】给大家分享个小功能,关于低版本安卓手机拍照找不到图片的问题
- 关于VSAN 6.x版本里一个针对SSD性能不足时的写入保护导致强行Unmount VSAN磁盘问题
- [嵌入式]关于jlink的调试问题,针对mdk全版本,2017.1.17
- iphone iPhone开发应用UIImage图片对象操作
- 关于iphone大屏手机的适配问题
- iphone/ipad保存图片问题(已解决)
- iOS - 关于上传手机本地图片到网页的问题
- 针对手机拍出的视频不能在web网页播放器插件播放问题-->java对手机视频的处理
- 粒子群算法针对数学规划问题的简单应用
- iphone/ipad保存图片问题
- 解决在安装fiddler4.6版本后,在手机上安装证书出现的问题解决方法
- 【Android】获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等)
- 解决Android4.4及以上系统获取系统图片失败的问题,例如华为手机,调系统图库的时候就出现异常
- 【微信小程序常见问题】view标签设置背景图片手机无法预览解决方案一
- Android 解决华为手机图片底色变绿问题