都说做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个像素

IOS 关于分辨率的那点事相关推荐

  1. iOS app性能优化的那些事

     iPhone上面的应用一直都是以流畅的操作体验而著称,但是由于之前开发人员把注意力更多的放在开发功能上面,比较少去考虑性能的问题,可能这其中涉及到objective-c,c++跟lua,优化起来相对 ...

  2. iOS 音频视频图像合成那点事

    代码地址如下: http://www.demodashi.com/demo/13420.html 人而无信不知其可 前言 很久很久没有写点什么了,只因为最近事情太多了,这几天终于闲下来了,趁此机会,记 ...

  3. [转载] iOS开发分辨率那点事

    1 iOS设备的分辨率 iOS设备,目前最主要的有3种(Apple TV等不在此讨论),按分辨率分为两类 iPhone/iPod Touch 普屏分辨率    320像素 x 480像素 Retina ...

  4. Xamarin的坑 - 绑定(二) - 高德iOS SDK(.Framework)绑定的一些事

    编者语:入门总是用一个hello world,总会让人觉得写code会是很容易的事.开篇绑定了一下微信SDK,不会有太多的难点,可是接下来的这个例子如果欠缺一些耐心,估计你整个人就崩溃了(我从来不会放 ...

  5. iOS设备分辨率 UI规范 以及适配

    iPhone/iPod Touch 普通屏                         320像素 x 480像素       iPhone 1.3G.3GS,iPod Touch 1.2.3 3 ...

  6. iOS iPhone6分辨率与适配

    分辨率和像素 经新xcode6模拟器验证(分辨率为pt,像素为真实pixel): 1.iPhone5分辨率320x568,像素640x1136,@2x 2.iPhone6分辨率375x667,像素75 ...

  7. iOS开发中多线程的那些事

    iOS开发深入之后还是要接触多线程和runloop的,写篇博客讲解.记录下iOS开发中的多线程技术. 线程.进程 什么是线程.进程   有的人说进程就像是人的脑袋,线程就是脑袋上的头发~~.其实这么比 ...

  8. 移植cocos2d-x 游戏从Android平台到IOS平台分辨率问题及解决办法

    问题描述: 因为游戏刚开始设计时是在Android平台上运行的,所以使用的是当时Android主流的分辨率(800 * 480), 使用cocos2d-x在其他Android平台可以做到等比例缩放,所 ...

  9. iOS中 UITableViewCell cell划线那些事 韩俊强的博客

    每日更新关注:http://weibo.com/hanjunqiang 在开发中经常遇到cell分割线显示不全或者想自定义线的宽高等; 最近总结了一下,希望帮到大家: 1.不想划线怎么办? Table ...

最新文章

  1. go使用PostgreSQL数据库
  2. mybatis 获得一个map的返回集合
  3. Python3实现简单可学习的手写体识别
  4. [渝粤教育] 江西师范大学 创业社团功能与自我发展 参考 资料
  5. matlab中quat2angle,RPY_Euler_Quaternion_AngleAxis角度转化:Matlab、Python、Halc
  6. java url帮助类_Spring居然还提供了这么好用的URL工具类
  7. jinja LineStatements
  8. 拼多多协助广东警方打击网络黑灰产 15名嫌疑人于近日落网
  9. 语法》第一章 基本语法
  10. 【辨异】inverse, reverse, converse
  11. wget ip_图解IP防护等级
  12. 合肥磨店职教城论坛使用WNMP平台架设 http://301302.net/
  13. CSDN 编辑器使用方法
  14. Python的学习笔记案例4--52周存钱挑战5.0
  15. 按键精灵大漠找字FindStrFast 函数封装
  16. 小猪佩奇粉红猪 成年人重新拾起英文笔记
  17. 2008服务器系统初始密码,2008服务器地址和密码
  18. 论文精读 清华ERNIE:Enhanced Language Representation with Informative Entities
  19. 名帖157 王徽之 行楷《新月帖》
  20. 学生认证免费领取——使用阿里云服务器的Ubuntu版本,并进行图形化

热门文章

  1. HTML5与移动端web学习笔记
  2. 波士顿矩阵|原理+Python全流程实现
  3. 魅蓝note3联通卡显示无服务器,竟然有这么多bug?面对魅蓝note3犹豫了
  4. java计算机毕业设计高校游泳馆信息管理源码+数据库+系统+lw文档+部署
  5. 计算机语言 逻辑关系,7. 语言、符号与逻辑关系
  6. 基础SQL语法语句大全(一篇学会所有SQL语句)
  7. 软考高级-系统架构师-软件工程练习题
  8. L2-001 紧急救援 (25 分)
  9. 力扣题——2.除数与被除数
  10. 小白入门Arduino,一步一图搭建开发环境