[转载] 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开发分辨率那点事相关推荐
- [转载]iOS开发常用国外网站清单
[转载]iOS开发常用国外网站清单 iOS网站 原文地址:iOS开发常用国外网站清单作者:eseedo 工欲善其事必先利其器,最近发现临时查找一些东西容易浪费时间,花了点时间整理一下常用的网站,方便以 ...
- 转载iOS开发中常见的警告及错误
iOS警告收录及科学快速的消除方法 前言:现在你维护的项目有多少警告?看着几百条警告觉得心里烦么?你真的觉得警告又不是错误可以完全不管么? 如果你也被这些问题困惑,可以和我一起进行下面的操作.其实 ...
- [转载]ios 开发 icon图标设置
iTunes Artwork icon ───────────────────────── 512px (90px) App icon(iPhone4) ─────────────────────── ...
- 那些在学习iOS开发前就应该知道的事(part 1)
2019独角兽企业重金招聘Python工程师标准>>> 英文原文:Things I wish I had known before starting iOS development- ...
- iOS开发:分辨率像素你知多少
iPhone屏幕尺寸和分辨率方面的一些小姿势 20160303 iPhone设备现在有多种分辨率,如下表所列, 设备 屏幕尺寸 分辨率(pt) Reader 分辨率(px) 渲染后 PPI(DPI) ...
- 那些在学习iOS开发前就应该知道的事
原文请看:http://www.cocoachina.com/ios/20150608/12052.html 那些在学习iOS开发前就应该知道的事 2015-06-08 09:14 编辑:suilin ...
- iOS开发三方资源 - 欲先攻其事必先利其器
一:源代码实例 1:快速搭建项目源代码 地址:https://github.com/wujunyang/MobileProject MobileProject项目是一个以MVC模式搭建的开源功能集合, ...
- IOS 关于分辨率的那点事
都说做iOS开发比Android省心,那么iOS是如何做到这一点的呢?我们今天就来分析一下,希望对做iOS的界面设计的同学有点帮助. 1 iOS设备的分辨率 iOS设备,目前最主要的有3种(Apple ...
- iOS开发中多线程的那些事
iOS开发深入之后还是要接触多线程和runloop的,写篇博客讲解.记录下iOS开发中的多线程技术. 线程.进程 什么是线程.进程 有的人说进程就像是人的脑袋,线程就是脑袋上的头发~~.其实这么比 ...
最新文章
- php样式无法加载 路径对的,网站首页 有时加载不了样式
- python字符串面试题:找出一个字符串中第一个字母和最后一个字符是第一次重复,中间没有重复且最长的子串...
- C#interface定义及使用浅析
- 介绍Windows Azure移动服务:用于您连接的客户端应用程序的后端
- 牛客题霸 [表达式求值] C++题解/答案
- NeurIPS 2020 | Glance and Focus: 通用、高效的神经网络自适应推理框架
- c是过程化语言吗数据库,关于SQL错误的是()A、所有数据库的公共语言B、非过程化的C、统一的语言D、所有用SQL缩写的程序都...
- 进入 App Store 打分
- matlab脑电信号特征提取,一种脑电信号实时特征提取方法与流程
- python 生成器装饰器_七.python迭代器生成器装饰器
- swift中的category,扩展
- Atitit 数据建模的技术总结 目录 1. 数据建模	1 2. 常见建模技术	2 2.1. 电子表格程序 计算机辅助设计 (CAD) 	2 2.2. Er图	2 3. 建模方法	2 3.1. .
- 下一个十年,游戏在可玩性上会有什么样的发展?
- 象棋马走日UML类图
- 爬虫入门(1)——requests(1)
- 春运在即 360又抢了12306的风头
- 金融系列-会计基础知识
- 极米h6和 极米rs pro2区别,4k版极米h6和rspro2哪个好
- 怎么把歌曲的格式改成mp3格式?
- 什么是浮点型?什么是单精度浮点数(float)以及双精度浮点数(double)?