转自:http://www.cocoachina.com/bbs/read.php?tid=46237

我需要程序支持iPad和iPhone,如果选择Univeral,那么我就要准备两套图(低分和高分),如果是tetina,那也是两套,不过是否有可能告诉苹果这个游戏只支持iPhone4/3GS等大容量内存的,而不支持3G/Touch 2等小内存老机器,因为这样我就可以只用一套HD图,靠缩放来解决分辨率的问题。

我们的项目就是只有一套高清图。
做法是在appDelegate初始化的时候,首先用这句判断一下ios版本:
if([[[UIDevice currentDevice] systemVersion] floatValue] >= 3.2f)
因为下面判断分辨率的语句,在3.2以下不支持,而3.2以下的分辨率肯定是320x480.所以在else里可以直接控制缩放参数为0.5.
然后如果版本大于等于3.2,用这句得到分辨率:
CGSize wndSize = [[UIScreen mainScreen] currentMode].size;
然后就可以根据得到的分辨率判断是否retina的iphone,或者是ipad,设置缩放参数。

你也可以用[[UIDevice currentDevice] model]来得到设备的名称,但我觉得还要分辨是ipad或者ipad simulator等等好麻烦,还不如用分辨率。

注意,我遇到一个情况,因为我们的项目是横屏的,用[[UIScreen mainScreen] currentMode].size得到的宽和高,ipad模拟器和真机是相反的,所以如果判断分辨率的话,要考虑到两种情况才能让模拟器和真机都画对。

图片缩放到指定大小尺寸

- (UIImage *)scaleToSize:(UIImage *)img size:(CGSize)size{  
    // 创建一个bitmap的context  
    // 并把它设置成为当前正在使用的context  
    UIGraphicsBeginImageContext(size);  
    // 绘制改变大小的图片  
    [img drawInRect:CGRectMake(0, 0, size.width, size.height)];  
    // 从当前context中创建一个改变大小后的图片  
    UIImage* scaledImage = UIGraphicsGetImageFromCurrentImageContext();  
    // 使当前的context出堆栈  
    UIGraphicsEndImageContext();  
    // 返回新的改变大小后的图片  
    return scaledImage;  
}

如何选择retina和univeral?相关推荐

  1. iphone ios 如何开发升级适配 iphone5 4inch

    今天apple发布ios6, 也许很快就能见到iphone 5的手机.不过现在只能从模拟器上来测试程序. 如何开发或者适配iphone5 4英寸的屏幕 1.安装xcode 4.5,选择Retina(4 ...

  2. 再谈注意力机制 | 运用强化学习实现目标特征提取

    论文题目:Recurrent Models of Visual Attention 论文链接:http://www.oalib.com/paper/4082117 作者及单位 研究目标 研究如何减少图 ...

  3. 08-sketch插件

    插件是让sketch保持强大的独门绝技,很多软件看起来不支持的功能,通过插件都可以实现,大大提高工作效率. 下面来介绍下sketch常用的,受大家欢迎的插件. 一.安装插件的方法 sketch有两种插 ...

  4. (10.2.3.3)静电的设计教室:APP设计利器Sketch教程(03)-让插件助你一臂之力(原创

    通过上两节的文章,大家可能已经对sketch这款软件的基本操作有了一个大概的了解(如果还有朋友没看过之前的文章,请点这里) 但很多朋友可能会有疑惑,"好像sketch的功能也没有那么强大啊? ...

  5. Sketch使用教程(三)

    源地址:http://mp.weixin.qq.com/s?__biz=MzA4MzI0MTkxOQ==&mid=200315033&idx=1&sn=773b20776f4d ...

  6. iOS iphone5屏幕适配 autosizing

    iphone5出来了,从不用适配的我们也要像android一样适配不同分辨率的屏幕了.   公司产品新版本需要适配iphone5,经过一番折腾算是搞定了.下面分享给大家: iphone5的屏幕分辨率: ...

  7. 切图iOS和android区别,用sketch也要画iOS和android两套吗|Sketch如何用一套设计稿做iOS和Android两个版本 - PS下...

    很多Sketch 新手刚进入接触UI设计的时候,不知道如何用一套设计稿来处理IOP和安卓两个系统的图,那么如何用一套设计稿较快速地做 iOS 和 Android 两个版本 app?是不是要做两套呢?然 ...

  8. Oracle调优总结--1(经典实践 重要)

    Problem Description: 1.每个表的结构及主键索引情况 2.每个表的count(*)记录是多少 3.对于创建索引的列,索引的类型是什么?count(distinct indexcol ...

  9. 【iOS 开发】iOS 开发 简介 (IOS项目文件 | MVC 模式 | 事件响应机制 | Storyboard 控制界面 | 代码控制界面 | Retina 屏幕图片适配)

    一. iOS 项目简介 1. iOS 文件简介 创建一个 HelloWorld 项目, 在这个 IOS 项目中有四个目录 : 如下图; -- HelloWorldTests 目录 : 单元测试相关的类 ...

最新文章

  1. 第十六届全国大学生智能车竞赛RT-Thread创新专项奖获奖名单
  2. Python3并发检验代理池地址
  3. 大数据读书笔记(1)
  4. php中的魔术函数以及魔术常量
  5. SAP历史库存MB5B的详解
  6. 玻璃体混浊研究中需要解决的问题(持续更新中)
  7. 媒体应用大数据,先解决三大难题
  8. 论文浅尝 | 使用变分推理做KBQA
  9. jlabel 不能连续两次set_为什么有时连续多次setState只有一次生效?
  10. 微信小程序的特点是什么?
  11. VB 全局Hook鼠标消息
  12. HTML5 —— 属性
  13. 在Tomcat中通过JOTM支持JTA
  14. mysql8.0.17压缩包安装教程_mysql 8.0.17 解压版安装配置方法图文教程
  15. PHP 利用curl 模拟get post 请求
  16. 五种主流的linux操作系统,五款常用的Linux操作系统
  17. c语言程序设计书张成叔万芳,TP312C-C语言程序设计 张成叔.pdf
  18. Excel表结构模板生成MySql建表语句
  19. 2012-11-25 3 00 发喜讯,终于把S5pv210 VGA 分辨率提升到1440 x 900/1920 x 1
  20. push notifications step1 打不开

热门文章

  1. 同步与异步,回调与协程
  2. 基于AD7792的pH在线监测传感器采集电路设计
  3. 求噪声功率 MATLAB,[转载]matlab中噪声功率、噪声方差关系
  4. mysql数据库总是自动关闭_宝塔数据库mysql总是自动停止解决总汇
  5. java后端传参数据校验
  6. java计算机毕业设计婚纱摄影管理源码+数据库+系统+lw文档+mybatis+运行部署
  7. 矿大计算机学院的周裕浩,前辈说说矿大,说说矿大管理学院的老师们
  8. 苹果清理喇叭灰尘_神奇黑科技 播放一段声音就可以给手机清灰尘
  9. 计算机音乐深夜,10首可以在深夜单曲循环的音乐
  10. 用ode45解一个带有积分的微分方程(integro-differential equations)