`
反求诸己
  • 浏览: 543168 次
  • 性别: Icon_minigender_1
  • 来自: 湖南娄底
社区版块
存档分类
最新评论

IOS 关于分辨率的那点事

 
阅读更多

转载自:http://www.cnblogs.com/BigPolarBear/archive/2012/03/26/2417777.html

 

都说做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粤语修改分辨率

    ios粤语修改分辨率

    iOS视频压缩的两种方式

    在iOS开发中,处理视频内容时,我们常常需要对视频进行压缩,以便减小文件大小、节省存储空间或加快上传速度。本篇文章将详细介绍两种常见的iOS视频压缩方法:使用AVFoundation框架的AVAssetExportSession和利用...

    Delphi获得屏幕及设置屏幕分辨率

    屏幕分辨率是指屏幕上像素点的数量,通常以宽度和高度的像素数表示,例如1920x1080。Windows操作系统提供了API接口供开发者调用,以修改或查询这些参数。 在Delphi中,我们可以使用WinAPI函数来实现这一功能。以下...

    iPhone分辨率大全

    iPhone分辨率大全:3GS、4、4S、5、5C、6、6plus、7、7plus、8、8plus、X、XS、XS Max、XR 分辨率,尺寸对比图

    RetinaPro ,NGUI分辨率自适应

    RetinaPro ,NGUI分辨率自适应 超级方便,快捷,简单

    ios项目适配ios6 ios7

    6. Image Assets和Asset Catalogs:iOS7开始推荐使用Asset Catalogs来管理图像资源,支持Retina 3x、Retina 2x以及标准分辨率。对于兼容iOS6的项目,可能需要保留旧的图片命名方式,并且在代码中适当地选择加载。 7...

    ios.zip_iOS 录屏开发_ios_ios开发_ios录屏_录屏

    本文将深入探讨iOS录屏开发的相关知识点,包括其基本原理、API使用、兼容性处理以及相关的UI设计。 1. **基本原理**:iOS录屏功能主要依赖于苹果提供的`AVFoundation`框架,特别是`AVCaptureScreenInput`和`...

    Xcode模拟器下载地址(iOS 8 - iOS 12)

    ### Xcode模拟器下载地址(iOS 8 - iOS 12) #### 一、Xcode模拟器概述 Xcode 是苹果公司为开发者提供的官方集成开发环境(IDE),它支持多种编程语言,包括Objective-C、Swift等,主要用于开发iOS、macOS、...

    千锋3G学院-IPHONE_iOS系列课程之Objective-C【分辨率1024*768】

    课程采用1024*768的高清分辨率,确保学习体验清晰舒适。 Objective-C起源于C语言,它扩展了C的语法,引入了Smalltalk式的消息传递机制,使得面向对象编程更为灵活。在iOS开发中,Objective-C是Foundation框架和...

    千锋学院-欧阳老师iOS培训视频-UI第一季2013年10月发布【分辨率1280×720】

    《千锋学院-欧阳老师iOS培训视频-UI第一季2013年10月发布【分辨率1280×720】》是针对iOS平台用户界面设计(UI)的专项培训课程,由知名教育机构千锋学院推出,由经验丰富的欧阳老师主讲。该课程内容丰富,旨在帮助...

    iOS实现对不同分辨率设备的字号大小适配方法

    在iOS开发中,为了确保应用在不同分辨率的设备上显示效果一致,适配字号大小是一项重要的任务。本文将详细介绍如何实现iOS对不同分辨率设备的字号大小适配,并提供一种具体的解决方案。 首先,我们需要理解iOS设备...

    IOS16.3真机调试包

    在iOS开发过程中,真机调试是一项至关重要的环节,它允许开发者在实际设备上测试应用程序,以确保软件在各种硬件配置和系统版本上的表现。本文将深入探讨“iOS 16.3真机调试包”,以及如何利用Xcode进行有效的真机...

    ios加载图片内存暴涨解决方法

    在iOS开发中,加载大图或过多图片可能会导致应用程序内存飙升,从而引发性能问题甚至App崩溃。本篇文章将深入探讨如何解决"ios加载图片内存暴涨"的问题,主要介绍三种策略:第一种是使用UIKit的`setImage`方法,第二...

    iOS16.5-真机调试包

    在iOS开发过程中,真机调试是一项至关重要的环节,它允许开发者在实际设备上测试应用程序,以确保软件在各种硬件配置和系统版本上的表现。本文将深入探讨“iOS16.5-真机调试包”这一主题,以及如何利用它进行有效的...

    iOS 13.5 真机调试包

    在iOS开发过程中,真机调试是一项至关重要的环节,它允许开发者在实际设备上测试应用程序,以确保软件在各种硬件配置和真实使用环境下运行无误。iOS 13.5是苹果公司发布的一个重要版本,引入了许多新功能和性能优化...

    真机调试包 iOS 14.2

    本文将深入探讨“真机调试包 iOS 14.2”相关的知识点,帮助开发者更好地理解和使用这个资源。 首先,我们需要了解iOS 14.2系统的新特性。苹果公司在iOS 14.2版本中引入了一系列功能更新和改进,包括但不限于:新的...

    关于iOS自动布局

    ### 关于iOS自动布局知识点详解 #### 一、概述 在iOS开发中,自动布局(Auto Layout)是一种非常重要的布局管理技术。它允许开发者通过设置视图间的约束关系来实现界面元素的位置和大小控制,从而使得应用能够在...

    IOS 模拟器9.3sdk

    以下是关于iOS模拟器9.3 SDK及其相关知识点的详细说明: 1. **Xcode**:Xcode是Apple官方提供的集成开发环境(IDE),用于编写适用于macOS、iOS、watchOS和tvOS的应用程序。Xcode内集成了代码编辑器、调试器、界面...

    iOS7 App Development Essentials

    在创建应用的过程中,作者强调了不同屏幕尺寸的适配和不同iOS版本下的用户界面外观测试,这是因为用户可能在多种不同尺寸和分辨率的iOS设备上使用应用。此外,监控应用程序性能也是开发过程中至关重要的一环,本书...

    axure7.0 ios插件

    在iOS设计中,该插件具有以下几个关键知识点: 1. **多模式支持**:插件可能包含了针对不同iOS设备的预设模板,如iPhone和iPad的不同型号(例如iPhone 5/6/6 Plus/7/8/X以及iPad Pro等)。这使得设计师能够在设计时...

Global site tag (gtag.js) - Google Analytics