开发兼容 iOS retina 的程序,我们需要做什么?
2013-07-18 10:07
393 查看
1、 首先明确:
iPhone 3G/3GS 屏幕像素分辨率是 320×480 ;
iPhone4、iPod Touch4 屏幕像素分辨率 640×960。
2、为了兼容 iOS 4.0 之前的程序也能在 iOS 4 上运行,苹果设计了一个逻辑分辨率单位point ,在
iPhone3 上 1个 Point 相当于 1个pixel ; 而 iPhone4 上1个 point 就相当于4个 pixel;因此所有的iPhone、iPod Touch 设备的 Point 分辨率都是 320×480 ,也就是逻辑分辨率都一致,保证了App不需要修改也能正常的在高像素分辨率上运行,只是原来App中的图片会被拉升后显示,影响美观,没有发挥retina的优势。
3、iOS App设计和开发人员要做什么?
1)App 的图标设计,发布到Store的App必须同时提供高清Size的App Icon(在原来基础上都要对应提供一份高清版本),参考Apple官方文档。
2) 代码中引用的静态UI 图片素材,也是提供两份,一份低像素分辨率,一份高分辨率使用。
比如:原来App素材包有个 demo.png ,那么 App bundle中就必须再提供一个两倍size的 demo.png , 并且文件命名为 demo@2x.png 后添加到项目工程中;
在代码中仍然这样写 [UIImage imageNamed:@"demo.png"] 即可, 无需修改代码,iOS系统可以自动对应不同屏幕取不同size的图像文件。
3) 如果App运行中从网络异步获取图片进行显示,或游戏App中动态生成图片后显示,需加上代码判断不同屏幕设备来获取/生成不同size图片。
if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)] && [[UIScreen mainScreen] scale] == 2){
//retina 或 ipad上启用2x显示iPhoneApp
//获取高清size图片
}
else {
//获取低清size图片
}
转自:http://my.oschina.net/yongbin45/blog/69545
iPhone 3G/3GS 屏幕像素分辨率是 320×480 ;
iPhone4、iPod Touch4 屏幕像素分辨率 640×960。
2、为了兼容 iOS 4.0 之前的程序也能在 iOS 4 上运行,苹果设计了一个逻辑分辨率单位point ,在
iPhone3 上 1个 Point 相当于 1个pixel ; 而 iPhone4 上1个 point 就相当于4个 pixel;因此所有的iPhone、iPod Touch 设备的 Point 分辨率都是 320×480 ,也就是逻辑分辨率都一致,保证了App不需要修改也能正常的在高像素分辨率上运行,只是原来App中的图片会被拉升后显示,影响美观,没有发挥retina的优势。
3、iOS App设计和开发人员要做什么?
1)App 的图标设计,发布到Store的App必须同时提供高清Size的App Icon(在原来基础上都要对应提供一份高清版本),参考Apple官方文档。
2) 代码中引用的静态UI 图片素材,也是提供两份,一份低像素分辨率,一份高分辨率使用。
比如:原来App素材包有个 demo.png ,那么 App bundle中就必须再提供一个两倍size的 demo.png , 并且文件命名为 demo@2x.png 后添加到项目工程中;
在代码中仍然这样写 [UIImage imageNamed:@"demo.png"] 即可, 无需修改代码,iOS系统可以自动对应不同屏幕取不同size的图像文件。
3) 如果App运行中从网络异步获取图片进行显示,或游戏App中动态生成图片后显示,需加上代码判断不同屏幕设备来获取/生成不同size图片。
if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)] && [[UIScreen mainScreen] scale] == 2){
//retina 或 ipad上启用2x显示iPhoneApp
//获取高清size图片
}
else {
//获取低清size图片
}
转自:http://my.oschina.net/yongbin45/blog/69545
相关文章推荐
- 开发兼容 iOS retina 的程序,我们需要做什么?
- 在开发iOS程序时,有时候需要将时间格式调整成自己希望的格式,这个时候我们可以用NSDateFormatter类来处理。 例如: //实例化一个NSDateFormatter对象 NSDateFor
- iOS开发之苹果应用6.1日起需兼容IPv6,那么作为开发者我们需要做些什么呢?【科普IPV6】
- iOS兼容开发:让程序同时支持iOS6和iOS7
- 微信小程序开发之IOS/Android兼容坑(持续更新)
- Cocoa框架是iOS应用程序的基础,了解Cocoa框架,对开发iOS应用有很大的帮助。 1、Cocoa是什么? Cocoa是OS X和 iOS操作系统的程序的运行环境。 是什么因素使一个程序成为Co
- java开发我们需要了解些什么,怎么进阶
- [转载]J2EE,我们还需要什么--给陷于J2EE开发中忧郁的人们
- 开发一个小程序需要什么?
- 小白学习iOS开发都需要有什么基础
- 【微信小程序开发】IOS与安卓样式兼容问题
- 兼容 iOS Retina(视网膜显示) 的程序
- 微信小程序开发之IOS/Android兼容坑
- 01_iOS开发需要准备什么?
- J2EE,我们还需要什么--给陷于J2EE开发中忧郁的人们
- 微信小程序开发之IOS和Android兼容的问题
- 开发S60 3rd开机后台运行的程序需要注意些什么?
- 在ios开发中,有时候我们需要 频繁 播放某种提示声音
- 【iOS开发-32】iOS程序真机调试需要购买调试证书怎么办?
- 现在为了让程序兼容vista,我们需要给程序加上一个manifest文件,可是有时候vc6它就会弹出Resource Compiler Error RC2170 的错误,可能是vc6一个bug,我个人对vc6还是很喜欢的,不过经常会有编译死掉或出错的问题,