都说做iOS开发比Android省心,那么iOS是如何做到这一点的呢?我们今天就来分析一下,希望对做iOS的界面设计的同学有点帮助。

1 iOS设备的分辨率

iOS设备,目前最主要的有3种(Apple TV等不在此讨论),按分辨率分为两类

iPhone/iPod Touch

普屏分辨率    320像素 x 480像素

Retina分辨率 640像素 x 960像素

iPad,iPad2/New iPad

普屏        768像素 x 1024像素

Retina屏  1536像素 x 2048像素

2  iOS设计时用的点与分辨率的关系

尽管有上面列出的4种分辨率情况,不过细心的人会发现,对于Retina屏的分辨率始终保持为普屏的2倍,这对于iOS的设计还是开发的时候提供的莫大的方便,自然可以想到对于界面设计而言,只需要设计一套,然后进行等比例放大缩小即可。实际进行设计与开发的时候,也确实是这样,Apple为了防止在交流过程中(尤其对于编程实现)分辨率对思维的迷惑,统一使用点(Point)对界面元素的大小进行描述,例如:

iPhone/iPod Touch

界面描述    320点 x 480点

iPhone/iPad

界面描述    768点 x 1024点

换算关系

普屏       1点 = 1像素

Retina屏 1点 = 2像素

这样,不管我们是在为普屏还是Retina屏进行设计与开发,我们都可以清楚地,并且统一地使用点对界面元素的大小进行描述了。

3  iOS界面图片的命名

现在我们能够用统一的语言描述两种屏幕的界面元素的大小,但是我们如何针对不同屏幕设置不同分辨率的图片素材呢?难道说开发的时候我们要在每一个图片加载的地方进行,添加判断当前设备是否是Retina屏的语句,然后加载对应的图片吗?当然可以这样做,但是iOS有一套更简便的方法进行自动加载,即通过规范的文件名命名。例如下面这条加载图片的语句:

[UIImage imageNamed:@"pic.png"]]

在实际运行时,如果发现当前的设备是Retina屏,会自动寻找图片"pic@2x.png" ,自动加载针对Retina屏的图片素材,是不是很方便呢?

所以,我们在制作iOS设备时,可以仿照下面这样,对图片文件进行分类,对于640x960文件夹里的图片,文件命名添加"@2x"即可。

4  iOS应用常用图标的命名规范

可以参考下面两个文档:

Apple对此问题的Q&A

Apple的官方说明文档

请务必按照文档中描述的规范进行图标的命名!!

PS:一些额外的图标参考

a 图标会自动添加高亮效果,如果不需要,可以在plist中明确指定UIPrerenderedIcon的键值去掉

b 57像素的普屏的iPhone图标,图标圆角的半径为10像素

c 114像素Retina屏的iPhone图标,图标圆角的半径为20像素

d 512像素的用于iTunes/App Store的图标,在实际显示是会被缩放到175像素进行显示(但提交是不可以提交175像素)

e 72像素的普屏iPad图标,图标圆角的半径为13像素

f 144像素Retina屏iPad图标,图标圆角的半径为26像素

g 50像素iPad的Spotlight搜索图标的最终视觉大小是48像素,原因是iOS会对图标的每个边去掉1个像素,添加阴影效果

h 100像素Retina屏的Spotlight搜索图标的最终视觉大小是96像素,原因同上,这次是每边减2个像素

转载于:https://www.cnblogs.com/yaokang/archive/2012/06/25/2561204.html

1 iOS设备的分辨率相关推荐

  1. iOS设备屏幕分辨率分布

    iOS设备屏幕分辨率比较单一, 960*640是iPhone4和4s的分辨率,占比67.4%; 1024*768是iPad1和iPad2的分辨率,占比22.5%; 480*320是iPhone3和3g ...

  2. 历代iOS设备屏幕分辨率

    Updated at: 2019.09.11

  3. android手机和ios手机的分辨率

    Android手机目前常见的分辨率 1.1 手机常见分辨率: 4:3 VGA     640*480 (Video Graphics Array) QVGA  320*240 (Quarter VGA ...

  4. iOS 设备的屏幕尺寸、分辨率及其屏幕边长比例详细情况

    根据屏幕尺寸和分辨率,ios现在数起来有6个版本. 一,3GS:二,4s为代表:三,iphone5:四,ipad2为代表:五,ipad4为代表:六,ipad mini. 只是分辨率不一样的情况,如一二 ...

  5. iOS设备、Icon、LaunchImage、图片分辨率

    摘要: iOS的各种设备的分辨率,以及开发用的Icon.LaunchImage的分辨率. 文中所有数据均来自网络,及博主个人总结,如有错误,以官方数据为准. iOS设备 iOS设备的屏幕的大小.分辨率 ...

  6. Unity 之 代码获取IOS设备型号 -- 做分辨率适配

    Unity 之 代码获取IOS设备型号 一,通过机器型号校验 1.1 逻辑解释 1.2 实现代码 二,通过长宽比校验 一,通过机器型号校验 1.1 逻辑解释 在https://www.theiphon ...

  7. UE4 iOS设备的兼容性

    iOS游戏开发 我们还没有对所有的iOS设备进行测试,但这个表格将可以让您大致了解每个苹果设备上的各项功能的运作情况. 在新设备发布后,我们会扩展并改善这个部分,并且我们会扩展测试的设备数量. 这些表 ...

  8. Flutter获取Android/iOS设备信息

    我们在进行各个系统的原生开发时,都有对应的方法获取设备信息,那么在使用Flutter时如何获取设备相关的相关信息呢? 我们本文就来介绍一个Flutter插件: Flutter Device Info ...

  9. iOS开发:分辨率像素你知多少

    iPhone屏幕尺寸和分辨率方面的一些小姿势 20160303 iPhone设备现在有多种分辨率,如下表所列, 设备 屏幕尺寸 分辨率(pt) Reader 分辨率(px) 渲染后 PPI(DPI) ...

最新文章

  1. 主机电源全是黑线怎么短接_汽车胎压监测即将成为强制标准,听听老司机怎么说...
  2. 《系统集成项目管理工程师》必背100个知识点-77配置审计的功能
  3. 虚拟化服务器故障,修复vSphere vCenter服务器故障的技巧
  4. leetcode109. 有序链表转换二叉搜索树(递归)
  5. java单例模式(饿汉式和懒汉式的几种不同写法)
  6. java观察者模式在spring中的应用_在Spring中使用观察者模式
  7. mysql 多物理机_MySQL 5.6同一物理主机配置多实例
  8. Varnish——CDN加速实现(单个后端服务器、缓存命中率情况)
  9. c#ref和out的相同点_C#中ref和out的使用小结
  10. linux 集成调试工具,linux下can调试工具canutils安装过程记录
  11. java 从m个数中均匀找出n个数_M个数里面找出最大的N个数
  12. paip.svn使用最佳实践
  13. mybatis中的动态Sql略解,基础理解,为什么要使用动态sql,动态sql相比于传统sql的区别;仅作笔记,如有错误请及时指出
  14. 关于扫描枪输入英文乱码问题
  15. UEFI版制作U盘启动盘重装系统
  16. Y4M(YUV4MPEG2) 格式文件详解
  17. IT十年人生过客-十一-新挑战
  18. 场景,或许才是未来空间设计的关键词,可能是最接近元宇宙的空间体验? | 浅空间专栏...
  19. CentOS版本下载地址
  20. 服务器server.cfg文件详解,配合L4D使用

热门文章

  1. Spark RDD/Core 编程 API入门系列之动手实战和调试Spark文件操作、动手实战操作搜狗日志文件、搜狗日志文件深入实战(二)...
  2. Javascript事件集
  3. 关于 npm 中 lru-cache 之 maxAge 盲点 源码分析
  4. 一起学微软Power BI系列-使用技巧(1)连接Oracle与Mysql数据库
  5. android 成长日记 5.关于progress控件和Alertdialog和layout学习
  6. 你也可以设计简单的内容管理系统
  7. ZeroMQ接口函数之 :zmq_poll - I/O多路技术
  8. JUNOS下的浮动路由
  9. 创建ContentProvider的详细步骤
  10. Ghost XP基本介绍