iphone屏幕像素6 屏幕每个像素占几位二进制

iphone6分辨率多少?iphone6屏幕分辨率介绍
作者:佚名
字体:[ ] 来源:互联网 时间:05-15 14:43:17
iphone6分辨率多少?想知道的朋友就和小编一起来看看iphone6屏幕分辨率介绍吧
  iphone6分辨率是多少?小编带来了关于苹果iphone6分辨率方面的消息,越来越多关于苹果iphone6的消息被曝光,果粉们是不是越来越期待了呢?下面就来了解一下关于分辨率方面的情况吧。&
  据9to5Mac报道,苹果正在为下一代iPhone(暂且以称之为iPhone6)测试非常接近全高清的分辨率:。当前iPhone5/5s的Retina屏分辨率为。&
  iPhone6已被认定会采用更大屏幕,但由此带来的分辨率变化将会对iOS生态圈产生重大影响,苹果必须提供平滑的过渡方案。有消息暗示4.7英寸iPhone会采用分辨率屏幕,ppi达到416;5.5英寸版iPhone的ppi稍低,但也会达到355 ppi。当前iPhone5s的ppi为326。
大家感兴趣的内容
12345678910
最近更新的内容iPhone 6 会使用多大尺寸多大分辨率的屏幕? - 知乎26被浏览4750分享邀请回答32 条评论分享收藏感谢收起31 条评论分享收藏感谢收起查看更多回答1 个回答被折叠()iPhone屏幕尺寸、分辨率及适配【转】
我的图书馆
iPhone屏幕尺寸、分辨率及适配【转】
http://blog.csdn.net/phunxm/article/details/1.iPhone尺寸规格设备iPhone宽Width高Height对角线Diagonal逻辑分辨率(point)Scale Factor设备分辨率(pixel)PPI3GS2.4 inches (62.1 mm)4.5 inches (115.5 mm)3.5-inch&320x480@1x320x4801634(s)2.31 inches (58.6 mm)4.5 inches (115.2 mm)3.5-inch320x480@2x640x9603265c2.33 inches (59.2 mm)4.90 inches (124.4 mm)4-inch320x568@2x640x11363265(s)2.31 inches (58.6 mm)4.87 inches (123.8 mm)4-inch320x568@2x640x113632662.64 inches (67.0 mm)5.44 inches (138.1 mm)4.7-inch375x667@2x750x13343266+3.06 inches (77.8 mm)6.22 inches (158.1 mm)5.5-inch414x736@3x(-&)401&2.单位inch(英吋)& & 1 inch = 2.54cm = 25.4mm3.iPhone手机宽高& & 上表中的宽高(width/height)为手机的物理尺寸,包括显示屏和边框。& & 以下为iPhone4s的宽高示意图:4.屏幕尺寸& & 我们通常所说的iPhone5屏幕尺寸为4英寸、iPhone6屏幕尺寸为4.7英寸,指的是显示屏对角线的长度(diagonal)。& & 以下为iPhone5~6+的屏幕尺寸规格示意图:5.像素密度PPI&&& PPI(Pixel Per Inch by diagonal):表示沿着对角线,每英寸所拥有的像素(Pixel)数目。& & PPI数值越高,代表显示屏能够以越高的密度显示图像,即通常所说的分辨率越高、颗粒感越弱。& & 根据勾股定理,可以得知iPhone4(s)的PPI计算公式为:& & 计算结果稍有出入,这是因为像素的离散采样有锯齿效应。6.缩放因子(scale factor&between logic point and device pixel)& & (1)Scale起源&&& 早期的iPhone3GS的屏幕分辨率是320*480(PPI=163),iOS绘制图形(CGPoint/CGSize/CGRect)均以point为单位(measured in points):&&&&1 point = 1 pixel(Point Per Inch=Pixel Per Inch=PPI)& & 后来在iPhone4中,同样大小(3.5 inch)的屏幕采用了,横、纵向方向像素密度都被放大到2倍,像素分辨率提高到(320x2)x(480x2)= 960x640(PPI=326),&显像分辨率提升至iPhone3GS的4倍(1个Point被渲染成1个2x2的像素矩阵)。& & 但是对于开发者来说,iOS绘制图形的API依然沿袭point(pt,注意区分印刷行业的“磅”)为单位。在同样的逻辑坐标系下(320x480):& & 1 point = scale*pixel(在iPhone4~6中,缩放因子scale=2;在iPhone6+中,缩放因子scale=3)。& & 可以理解为:& & scale=绝对长度比(point/pixel)=单位长度内的数量比(pixel/point)& & (2)UIScreen.scale& &&UIScreen.h中定义了该属性:& &&// The natural scale factor associated with the screen.(read-only)& &&@property(nonatomic,readonly)&CGFloat&scale &NS_AVAILABLE_IOS(4_0);& &&--------------------------------------------------------------------------------& &&This value reflects the scale factor needed to convert from the default&logical coordinate space&into the&device coordinate space&of this screen.& &&The default logical coordinate space is measured using&points. For&standard-resolution&displays, the scale factor is 1.0 and&one point equals one pixel. For&Retina&displays, the scale factor is 2.0 and&one point is represented by four pixels.& &&--------------------------------------------------------------------------------&&& 为了自动适应分辨率,系统会根据设备实际分辨率,自动给UIScreen.scale赋值,该属性对开发者只读。& & (3)UIScreen.nativeScale& &&iOS8新增了nativeScale属性:& &&// Native scale factor of the physical screen& &&@property(nonatomic,readonly)&CGFloat&nativeScale&NS_AVAILABLE_IOS(8_0);& &&以下是iPhone6+下的输出,初步看来:& &&--------------------------------------------------------------------------------& &&& &&(lldb)p (CGFloat)[[UIScreen mainScreen] scale]& & & &&(CGFloat) $1 = 3& &&& &&(lldb) p(CGFloat)[[UIScreen mainScreen] nativeScale]& &&& & (CGFloat) $2 = 3& &&--------------------------------------------------------------------------------& &&(4)机型判别& &&在同样的逻辑分辨率下,可以通过scale参数识别是iPhone3GS还是iPhone4(s)。以下基于nativeScale参数,定义了探测机型是否为iPhone6+的宏:& &&--------------------------------------------------------------------------------& &&// not UIUserInterfaceIdiomPad& &&#define&IS_IPHONE&(UI_USER_INTERFACE_IDIOM() ==&UIUserInterfaceIdiomPhone)& &&// detect iPhone6 Plus based on its native scale& &&#define&IS_IPHONE_6PLUS&(IS_IPHONE && [[UIScreenmainScreen] nativeScale] == 3.0f)& &&--------------------------------------------------------------------------------& &&那么,同样的分辨率和scale,如何区分机型iPhone4与4s、iPhone5与5s呢?通过只能判别iPhone、iPad、iPod大类,要判断iPhone具体机型型号,则需要通过获取详细的设备参数信息予以甄别。7.&&8./以及高倍图适配& & (1)@2x& & @2x&means the same “double”retina resolution that we’veseen on all iOS devices with retina displays to date, where each virtual pointin the user interface is represented by&two&physical pixels on thedisplay&in each dimension, horizontal and vertical.& & iPhone3GS时代,我们为一个应用提供图标(或按钮提供贴图),只需要icon.png。针对现在的iPhone4~6 Retina显示屏,需要制作额外的@2x高分辨率版本。& & 例如在iPhone3GS中,scale=1,用的图标是50x50pixel(logicalimage.size=50x50point);在iPhone4~6中,scale=2,则需要100×100pixel(logical image.size=50x50point,乘以image.scale=dimensions in pixels),并且命名为icon@2x.png。& &&如果APP要同时兼容iPhone3GS~iPhone6,则需要提供icon.png/icon@2x.png两种分辨率的图片。& & (2)@3x& & @3x&means a new “triple” retina resolution, where eachuser interface point is represented by&three&display pixels. A single @2x pointis a 2?×?2 square of 4 an @3x point is a 3?×?3 square of 9 pixels.”& & iPhone6+在实际渲染时,downsampling/1.15(-&),准确的讲,应该是@2.46x。苹果为方便开发者用的是@3x的素材,然后再缩放到@2.46x上。& &&参考:《》《》《》& & 如果APP要同时兼容iPhone3GS~iPhone6+,则需要提供icon.png/icon@2x.png/icon@3x.png三种分辨率的图片。& & 需要注意的是,iOS APP图标的和都需要遵守相关规范。& & (3)高倍图文件命名& & 对于iPhone3、4/5/6、6+三类机型,需要按分辨率提供相应的高倍图并且文件名添加相应后缀,否则会拉伸(stretchable/resizable)(模糊或边角出现锯齿)。& & 以下基于UIImage的两类初始化API简介高倍图的适配:& & &1&+imageNamed:该方法使用系统缓存,适合表视图重复加载图像的情形。同时该API根据UIScreen的scale,自动查找包含对应高倍图后缀名(@2x)的文件,如果没找到设置默认image.scale=1.0。因此,使用该方法,无需特意指定高倍图后缀。在实际运行时,系统如果发现当前设备是Retina屏(scale=2),会自动寻找"*@2x.png"命名格式的图片,加载针对Retina屏的图片素材,否则会失真。& & &2&+imageWithContentsOfFile/+imageWithData:(scale:)/-initWithContentsOfFile:/-initWithData:(scale:)& & 这组方法创建的UIImage对象没有使用系统缓存,并且指定文件名必须包含明确的高倍图后缀。如果文件名包含@2x后缀,则image.scale=2.0;否则默认image.scale=1.0,同样对于Retina屏将会失真。& & &3&目前,适配iPhone6+时,除了一些铺满全屏的大图(LogoIcon、LaunchImage)需提供三倍图,其他的小图仍可沿用原有的二倍图自适应拉伸。9.Screen Bounds&&&Application Frame& &&(1)UIScreen.bounds& &&// Bounds of entire screen in points(本地坐标系,起点为[0,0])& &&@property(nonatomic,readonly)&CGRect&bounds;&& &&--------------------------------------------------------------------------------& &&//考虑转屏的影响,按照实际屏幕方向(UIDeviceOrientation)的宽高& &&#define&SCREEN_WIDTH&([UIScreenmainScreen].bounds.size.width)& &&#define&SCREEN_HEIGHT&([UIScreenmainScreen].bounds.size.height)& &&#define&STATUSBAR_HEIGHT&([UIApplicationsharedApplication].statusBarFrame.size.height)& &&//不考虑转屏的影响,只取竖屏(UIDeviceOrientationPortrait)的宽高& &&#define&SCREEN_WIDTH&MIN([UIScreenmainScreen].bounds.size.width, [UIScreenmainScreen].bounds.size.height)& &&#define&SCREEN_HEIGHT&MAX([UIScreenmainScreen].bounds.size.height, [UIScreenmainScreen].bounds.size.width)& &&#define&STATUSBAR_HEIGHT&MIN([UIApplicationsharedApplication].statusBarFrame.size.width, [UIApplicationsharedApplication].statusBarFrame.size.height)& &&--------------------------------------------------------------------------------&& &&(2)UIScreen.nativeBounds& &&iOS8新增了nativeBounds属性,输出竖屏像素级分辨率:& &&// The bounding rectangle of the physical screen,measured in&pixels. (read-only)& &&// This rectangle is based on the device in a portrait-up orientation.&This value does not change as the device rotates.& &&@property(nonatomic,readonly)&CGRect&nativeBounds&NS_AVAILABLE_IOS(8_0);& &&以下是iPhone6+下的输出:& &&--------------------------------------------------------------------------------& &&& &(lldb) poNSStringFromCGRect([(UIScreen*)[UIScreen mainScreen] bounds])& &&& & {{0, 0}, {414, 736}}& &&& &&(lldb) poNSStringFromCGRect([(UIScreen*)[UIScreen mainScreen] nativeBounds])& &&& & {{0, 0}, {}}& &&--------------------------------------------------------------------------------& & (3)UIScreen.applicationFrame& &&// Frame of application screen area in points (i.e.entire screen&minus&status bar if visible)& &&// bounds除去系统状态栏& &&@property(nonatomic,readonly)&CGRect&applicationFrame;&& &&--------------------------------------------------------------------------------& &&// APPFRAME_WIDTH=SCREEN_WIDTH& &&#define&APPFRAME_WIDTH&([UIScreen mainScreen].applicationFrame.size.width)& &&// APPFRAME_HEIGHT=SCREEN_HEIGHT-STATUSBAR_HEIGHT& &&//注意:横屏(UIDeviceOrientationLandscape)时,iOS8默认隐藏状态栏,此时APPFRAME_HEIGHT=SCREEN_HEIGHT& &&#define&APPFRAME_HEIGHT&([UIScreen mainScreen].applicationFrame.size.height)& &&--------------------------------------------------------------------------------&& & (4)bounds和frame的区别& &&下图展示了:10.机型尺寸(Screen Scale Adaption)& & 从iPhone3GS/iPhone4(s)过渡到iPhone5(s)时,在逻辑上宽度不变高度稍高,之前旧的素材和布局通过简单适配即可运行得很好,但由于高宽比增大,上下两端出现黑粗边(典型如LaunchImage)。从分辨率的角度来看,除了需要提供LaunchImage这种满屏图,其他基本沿用二倍图(@2x);从屏幕尺寸角度来看,需要对纵向排版略加调整。& & 从iPhone5(s)发展到iPhone6(+),由于高宽比保持不变,iOS对图标、图片、字体进行等比放大自适应,清晰度会有所降低。同时,绝对坐标布局会导致在大屏下出现偏左偏上的问题。从分辨率的角度来看,iPhone6沿用二倍图(@2x),但需为iPhone6+提供更高的三倍图(@3x);从屏幕尺寸角度来看,需要重新对UI元素尺寸和布局进行适配,以期视觉协调。& & (1)按宽度适配& & 我们先来看一下iPhone4~6(+)的屏幕高宽比:& & & &iPhone4(s):分辨率960*640,高宽比1.5& && & iPhone5(s):分辨率,高宽比1.775& && & iPhone6:分辨率,高宽比1.779& && & iPhone6+:分辨率,高宽比1.778& & 可粗略认为iPhone5(s)、6(+)的高宽比是一致的(16:9),即可以等比例缩放。因此可以按宽度适配:& & & &&fitScreenWidth= width*(SCREEN_WIDTH/320)& & 这样,共有iPhone3/4/5、6、6+三组宽度,在iPhone6、6+下将按比例横向放大。& & (2)按高度适配& & 在同样的宽度下,iPhone4(s)的屏高比iPhone5(s)低,若纵向排版紧张,可以iPhone5(s)为基准,按高度适配:& & & &&fitScreenHeight= height*(SCREEN_HEIGHT/568)& & 共有iPhone3/4、5、6、6+四组高度,在iPhone3/4下将按比例纵向缩小,在iPhone6、6+下将按比例纵向放大。& & 这里需要注意iPhone/iOS双环上网的热点栏对纵向布局的影响:iPhone作为个人热点且有连接时,系统状态栏下面会多一行热点连接提示栏"Personal Hotspot: * Connection",纵向会下压20pt,[UIApplication sharedApplication].statusBarFrame高度变为40pt;当所有连接都断开时,热点栏消失,纵向高度恢复正常为20pt。详情可参考《》。& & (3)按字体适配& & 另外,iPhone的【设置】【通用】【辅助功能】中可以设置调节【更大字体】,APP也可以按字号适配:& & 例如适配表视图(UITableView:UIScrollView),无法左右滑动,因此无论字号缩放比例多大,横向都不应超过SCREEN_WIDTH。注意限定控件元素内容区域宽度以及间距,并设置适当的LineBreakMode。表视图支持上下滑动,因此纵向上的表格行高和内容区域高度可按字号缩放。& & 对于纵向也不支持滑动的视图,在屏幕可见视区内排版时,最好不要随字号缩放,否则可能超出既定宽高。11.UI相对布局& & 考虑到iPhone机型的多样性,不可能针对iPhone4(s)、5(s)、6、6+四种屏幕尺寸出四套视觉交互稿,也不要基于某一机型从上往下、从左往右给绝对标注,而应该关注subView在superView中的相对位置(EdgeInsets/Frame/Center)以及siblingView之间的偏移(Offset),尽量给出适合Autolayout的相对布局比例(理想情况是只给百分比)。假如交互按照iPhone5(s)下绝对标注,则在iPhone4(s)上可能挤出屏幕底部,而在iPhone6(+)上则可能横向偏左或纵向偏上。& & 开发人员基于与屏幕边缘的间距(Margin/EdgeInsets),定位边缘处的控件(钉钉子)作为参照,然后基于控件尺寸和间隙进行相对计算排版。这样,若钉子移动,相邻控件将顺向偏移,不会因为局部调整而出现凌乱。& &&苹果在WWDC2012 iOS6中就已提出了的概念,即使用约束条件来定义视图的位置和尺寸,以适应不同尺寸和分辨率的屏幕。12.DEPRECATED API适配& & 最后,除了对屏幕尺寸和分辨率进行适配之外,还需对iOS SDK中相关的DEPRECATED API进行适配。典型的如:& & (1)UILineBreakMode-&NSLineBreakMode& & (2)UITextAlignment-&NSTextAlignment& & (3)sizeWithFont:-&boundingRectWithSize:& & (4)stretchableImageWithLeftCapWidth:topCapHeight:-&resizableImageWithCapInsets:& & (5)...参考:《》《》《》《》《》《》《》《》《iOS界面适配()()()》《》《》《》《》《》
TA的最新馆藏[转]&
喜欢该文的人也喜欢14065人阅读
iOS开发(24)
分辨率和像素 经新xcode6模拟器验证(分辨率为pt,像素为真实pixel): 1.iPhone5分辨率320x568,像素640x1136,@2x
2.iPhone6分辨率375x667,像素750x1334,@2x 3.iPhone6 Plus分辨率414x736,像素,@3x
分辨率和像素
经新xcode6模拟器验证(分辨率为pt,像素为真实pixel):
1.iPhone5分辨率320x568,像素640x1136,@2x
2.iPhone6分辨率375x667,像素750x1334,@2x
3.iPhone6 Plus分辨率414x736,像素,@3x,(注意,在这个分辨率下渲染后,图像等比降低pixel分辨率至x1920)
不处理时自动等比拉伸,如果在老工程打印屏幕frame,依然是320x568
对比自动适配的和完美适配的导航栏就能看出问题:
因为拉伸所以会有一些虚,导航栏明显比64要大,但相比3.5寸到4寸的留黑边还是好很多。
如何关闭自动适配方案呢?这个还是老思路,换启动图:
除了换启动图外,不得不说的是,新Xcode中可以使用一个xib来设置启动图:
不过这个xib不能关联任何的代码(不能自定义View的Class,不能IBOutlet,不能加Object),可以理解成这个xib就是一张截图,这个方案的好处在于可以使用到Size Classes来针对不同屏幕布局这个xib(感兴趣可以看《Size Classes初探》)
关于手动适配
只要手动指定了启动图或者那个xib,屏幕分辨率就已经变成应有的大小了,老代码中所有关于写死frame值的代码通通倒霉,如果去手动适配就要全部适配,建议在找到个可行方案前先不要做修改,自动适配方案还算不影响使用。
面对4个分辨率的iPhone,建议使用Auto Layout布局 + Image Assets管理各个分辨率的图片 + Interface Builder(xib+storyboard)构建UI,Size Classes在低版本iOS系统的表现未知。想要这套手动适配方案,起码你的工程需要部署在iOS6+,还不用AutoLayout布局的会死的蛮惨。
关于Xcode 6
模拟器路径被换成了 ~/Library/Developer/CoreSimulator/Devices/
xcode6中已经找不到iOS6的模拟器了,是时候说服大家放弃iOS7-了
现在起提交App Store强制需要支持64位,是时候梳理一遍所有依赖的第三方lib,更新到64位。(编辑注:这一条据说是个bug)
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:308606次
积分:1452
积分:1452
排名:千里之外
转载:27篇
评论:23条
(2)(2)(1)(1)(2)(3)(2)(1)(6)(15)
(window.slotbydup = window.slotbydup || []).push({
id: '4740881',
container: s,
size: '200,200',
display: 'inlay-fix'}

我要回帖

更多关于 iphone7屏幕像素 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信