ios开发的frame、物理屏幕尺寸和图片分辨率


型号


屏幕尺寸(inch)


逻辑分辨率(point)


缩放因子(scale factor)


物理分辨率(pixel)


像素密度(PPI)


iPhone3GS


3.5


320 * 480


@1x


320 * 480


163


iPhone4/4s


3.5


320 * 480


@2x


640 * 960


326


iPhone5/5s


4


320 * 568


@2x


640 * 1136


326


iPhone6/6s


4.7


375 * 667


@2x


750 * 1334


326


iPhone6Plus/6s Plus


5.5


414 * 736


@3x


1242 * 2208


401

图1

物理屏幕尺寸:一般用对角线的长度(英寸)来衡量,也就是你看到的实际大小。

逻辑分辨率是与物理屏幕尺寸对应的,只是为了程序员更好的控制控件的位置,其反应到程序就是我们常用的frame。从图1中可以看到,iphone3GS和iphone4/4s的物理屏幕大小相同,其frame(逻辑分辨率)也对应相同;iphone4/4s和iphone5/5s的屏幕尺寸不同,其逻辑分辨率也不同。

物理分辨率:指液晶屏最高可显示的像素数,也就是一块屏幕中含有多少个发光单元。同样大小的屏幕,其发光单元的数量在制造的时候就已确定。比如iphone4/4s相对于iphone3GS来说,其屏幕大小没变但是其物理分辨率就提高了,视觉效果就是变清晰了,也就是颗粒度变小了。

对于一个UIImage元素来说,如果不设置其frame,则其在屏幕中的大小会由图片的分辨率与该设备的逻辑分辨率决定,比如有一张320*480分辨率的图片,分别显示在未设置frame的UIImage的iphone3GS和iphone4/4S上,其逻辑分辨率大小则为320*480和160*240。    实际开发中UI给的图片都是根据物理分辨率来给的,如果以iphone6/6S作为设计模板,那你拿到的高保真图片则应该是750 * 1334像素,在设置控件frame的时候,则应该将高保真的图片尺寸(根据图片的像素计算得出)/2。

时间: 2024-08-28 06:35:26

ios开发的frame、物理屏幕尺寸和图片分辨率的相关文章

【ios开发】 判断设备屏幕尺寸、分辨率

IOS 设备现有的分辨率如下:iPhone/iPod Touch普通屏                          320像素 x 480像素       iPhone 1.3G.3GS,iPod Touch 1.2.33:2 Retina 屏           640像素 x 960像素        iPhone 4.4S,iPod Touch 416:9 Retina 屏               640像素 x 1136像素      iPhone 5,iPod Touch 5

IOS开发——手势 & 传感器 & 物理引擎

这次思维导图比较杂,demo已经全部上传到github上,小编的github地址是:狂戳 先看下效果图: 手势画板: 物理引擎: 传感器: IOS开发--手势 & 传感器 & 物理引擎

【转】 iOS开发UI篇—UIScrollView控件实现图片轮播

原文:http://www.cnblogs.com/wendingding/p/3763527.html iOS开发UI篇—UIScrollView控件实现图片轮播 一.实现效果 实现图片的自动轮播            二.实现代码 storyboard中布局 代码: 1 #import "YYViewController.h" 2 3 @interface YYViewController () <UIScrollViewDelegate> 4 @property (w

iOS开发之静态库(五)—— 图片、界面xib等资源文件封装到静态框架framework

编译环境:Macbook Air + OS X 10.9.2 + XCode5.1 + iPhone5s(iOS7.0.3) 一.首先将资源文件打包成bundle 由于bundle是静态的,所以可以将“iOS开发之静态库(三)—— 图片.界面xib等资源文件封装到.a静态库”中生成的“MyToolsWithAssetsA.bundle”文件直接拿过来使用. 二.创建静态框架 创建过程参考“iOS开发之静态库(四)—— 静态框架framework制作”,里面介绍非常详细. 静态库代码借用“iOS开

iOS开发点滴:iPhone屏幕适配

最近开始做iOS开发,遇到一些小问题和解决方法,记录下. 今天是iPhone屏幕适配 iPhone5出来之后屏幕就有iPhone就有了2种尺寸:3.5寸和4寸,xcode 5 的IB设计器里面界面是4寸的,把按钮放到底部,模拟器选成3.5寸的按钮就看不到了,找到了解决方法: http://stackoverflow.com/questions/18248789/xcode-autosizing-preview-window-missing 注意,文字内容说的是uncheck "Use Autol

IOS开发-UIDynamic(物理仿真)简单使用

UIDynamic是从IOS7开始引入的一种新技术,隶属于UIKit框架,我们可以认为是一种物理引擎能模拟和仿真现实生活中的物理现象,比如重力,弹性碰撞等. 可以让开发人员远离物理公式的情况下,实现一些物理仿真效果. 这里简单介绍一下重力,碰撞,捕捉的用法. 先介绍一下使用的大致步骤 创建物理仿真器 创建相应的物理仿真行为 将物理仿真行为添加到物理仿真器 一,重力与碰撞 提前在StoryBoard准备两个UIView,一个红色,一个蓝色.蓝色在红色的下方,保证红色下落能碰到蓝色的view. 1

【iOS开发系列】物理仿真动画UIDynamic (1)

iOS开发拓展篇-UIDynamic(简单介绍) [一]简单介绍 1.什么是UIDynamic UIDynamic是从iOS 7开始引入的一种新技术,隶属于UIKit框架 可以认为是一种物理引擎,能模拟和仿真现实生活中的物理现象 如:重力.弹性碰撞等现象 2.物理引擎的价值 广泛用于游戏开发,经典成功案例是"愤怒的小鸟" 让开发人员可以在远离物理学公式的情况下,实现炫酷的物理仿真效果 提高了游戏开发效率,产生更多优秀好玩的物理仿真游戏 3.知名的2D物理引擎 Box2d Chipmun

iOS开发 - 不进入待机(屏幕保持唤醒)---UIApplication学习

假设你不希望应用执行时 iPhone 进入锁屏待机状态.增加以下这行代码就可以 [[UIApplication sharedApplication] setIdleTimerDisabled:YES]; 顺便, 学习了下 UIApplication. iPhone应用程序是由主函数main启动,它负责调用UIApplicationMain函数,该函数的形式例如以下所看到的: 对准UIApplicationMain, option+鼠标点击. 就可以查看. 那么UIApplicationMain函

iOS开发中frame与bounds的区别

闲话不多说,先上两张图,大伙们就已经明白了: 显示出来的效果是这样子滴:  总结: 要理清这两者的区别,最主要的要理解一下几个概念:frame可以理解为可视的范围,而bounds可以理解为可视范围内的内容位置.在默认的情况下,frame与bounds的原点,也就是x与y轴是重合. 父视图中的frame与bounds,子视图中的frame与bounds,据我的理解,决定子视图的位置要两个条件,那就是父视图中的bounds与子视图中的frame:而子视图中的bounds与子子视图的frame决定着子