plus 如何关闭qq腾讯新闻闻字体忽然变大

搜索 新闻 资讯 游戏
您现在的位置:&&>>&&>>&&>>&&>>&正文
iPhone6&Plus字体怎么改?换字体详细教程
编辑:wangqing && 来源:iPhone中文网 && 发布时间: 9:46:30
  【巴士数码】现在和大家分享一个iPhone6 Plus字体修改教程,详细的图文方法教你怎么换字体。可能一些用户觉得自己手机上的系统字体不好看,想换一个自己喜欢的、或者炫酷的字体,那么这就涉及到了一个问题――iPhone6 Plus字体怎么改?
  其实,iPhone6 Plus修改字体也不难,不过需要一个前提,就是你的手机已经越狱了,如果还没有越狱的话,就只能sorry了。越狱了的话,打开并进入Cydia越狱应用中心,在搜索中搜索字体,即可有相关的字体插件。安装好字体插件以后,就可以为手机更换字体了。
  当然了,换字体之前,请先为你的iPhone6 Plus备份好原先的字体,不然万一不小心出了问题,没了系统字体可就麻烦了。下面分享一个iPhone6 Plus字体怎么改的具体方法步骤:
  1、打开cydia---搜索---bytaFont2---安装。
  2、添加178源,找到华康少女英文字体,下载安装。(温馨提示一下,文件较大,到wifi稳定的环境下载)
  3、再找到华康少女中文字体,下载安装。(温馨提示以下,文件较大,到wifi稳定的环境下载)
  4、回到桌面,打开bytaFont2――全局替换。选择第二个,点击是。
  5、手机重启后,再打开bytaFont2――更多――中文/韩文字体――安装华康少女――中文简体――点击是,手机重启。
  6、完成。没有方块。完美支持。没有白苹果,暂时没发现有程序闪退。
  以上就是iPhone6 Plus修改更换字体的详细方法教程了,如果不清楚iPhone6 Plus字体怎么改的话,大家可以参考上述方法教程来进行操作,当然操作过程请务必谨慎小心。
扫描左侧二维码,可以订阅iPhone中文网官方微信。每天除了推送最新的苹果产品资讯,我们还将不定期举行有奖活动,广大网友可以积极参与,幸运随时会降临!当然,你也可微信搜索“iPhone中文网”或“apple4cn”,关注iPhone中文网官方微信,第一时间获取更多苹果资讯。
iOS越狱破解
苹果产品信息查询
热门新闻排行
皖公网安备05 皖网文许字[3号
TGBUS Corporation, All Rights Reserved刚买的iphone6 plus 5.5寸的,发现进所有APP字体都会变大,好难看,怎么办?_百度知道
刚买的iphone6 plus 5.5寸的,发现进所有APP字体都会变大,好难看,怎么办?
看新闻,老人机一样?设备的字体我也改到最小,怎么才能解决呢,地图等等都是一样进微博。看上去跟山寨机,但依旧没办法
提问者采纳
是因为这些APP还没有开发出适配IPHONE6 plus的分辨率,所以才会这样
提问者评价
谢谢,应该是这样的 ,刚才一直跟苹果售后电话,他们表达的确有这个情况。各种排除机器的问题无法改变
其他类似问题
为您推荐:
iphone6的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁比特客户端
您的位置:
详解大数据
详解大数据
详解大数据
详解大数据
5.7寸小米note与iPhone6 Plus超全面对比(组图)
关键字:iPhone6 Plus
小米 小米Note
  就新产品推出速度而言,小米一直坚持着一年一部旗舰,而且以往都是8、9月份,今年则来的出奇的早,1月15日,小米发布了新旗舰--小米。除了发布会时间不像小米风格,其命名也着实让人大感意外,竟不是传说中的小米5,难道小米也要走双旗舰路线?
  抛却诸多疑问再来看这款产品:骁龙801、5.7寸屏幕、3GB内存、1300万OIS光学防抖镜头、Hi-Fi音效……毫无疑问这是一款旗舰机型;而其顶配版搭配骁龙810、2K屏幕、4GB内存、64GB机身,是为发烧友专门推出的,简直不能再发烧。
  现在我们拿到了一款标配版的小米Note,除了主流旗舰配置,它还采用2.5D+3D双曲面玻璃,并在6.95mm超薄机身中嵌入了不凸出的摄像头,在用料、设计上相比小米4又有了突破,下面一起来看一下。
  小米Note发布会产品全家福:小米小盒子、小米Note、小米Hi-Fi耳机。
  就在半年前,小米4在同一个地方发布,从那时起,小米开始了"一块钢板的艺术之旅",开始讲求设计。这次发布会上,小米Note依然强调外观工艺,并称在工艺上又有了很大突破。
  上手的第一感觉,就是轻薄,并没有一般5.7寸那种厚实感。与 6 Plus对比的话,小米Note虽然屏幕更大,机身三围却小了一圈,具体就是短了3mm、窄了0.2mm,薄了0.15mm。加上两面玻璃都是弧形的,握在手中比较舒适。
  当然毕竟屏幕远远超过5寸屏,单手操作起来还是有些吃力,这也是大屏手机的"通病"。可喜的是,小米Note搭载的MIUI 6针对大屏做了多项优化,比如大字体、单手操作等等,我们后面再详细介绍。
  左侧iPhone 6,右侧小米Note
  对比iPhone 6可以看出,小米Note屏占比优势明显,左右边框更窄,上下边框也完虐前者(貌似从未重视过屏占比)。
  边框对比
  小米Note厚度只有6.95mm,而且后壳不是中间厚两边薄的大圆弧拱背造型,而是平坦的后背在两边做了弯曲,侧面看,线条非常干练。
  无论从哪个角度看,6.95mm的厚度在5.7寸屏幕面前都显得极其纤薄。
  将手机做薄并不是将元器件做的更小、排列更紧密那么简单,经常会涉及到元器件间的排列和布局,目前世界上最薄的vivo X5Max就采用了"单面临界布板"的设计,将主板上绝大部分元器件集中在主板的一侧,从而造就了4.75mm的记录。
  小米Note没有如此"丧心病狂",却也为此伤了不少脑筋,为了把手机做薄,小米Note主要遇到了两大挑战:
  一是如何防止摄像头凸出。虽然目前手机的相机模组已经足够小,但如果加上OIS光学防抖,体积就会增加,所以无论是5.5寸的iPhone 6 Plus、还是5.7寸的Galaxy Note 4,摄像头都有凸出,即影响了观感也使得镜头的磨花几率上升。
  小米Note的摄像头则完全与后壳齐平,按小米的说法,他们和相机厂商一起重构整个相机模组才实现的,小米还为这个相机结构申请了发明专利。
  另一个挑战就是电池容量。如今看来,对于一部5.5寸以上的手机,如果电池容量到不了3000mAh,出门都不太有安全感。
  我们知道,电池的容量和体积成正比,这也就意味着把机身做薄必然有电池容量的妥协,小米Note原本只能安放2800mAh的电池,不过官方通过提升电池电压的方式提升了电池能量密度,最终得到了一块3000mAh电池。
  除了超薄、镜头不突出这两大特色外,小米Note在用料上也更加讲究,不但保留了金属边框,还采用前后双曲面玻璃设计:具体就是前面2.5D+后面3D玻璃。
  其实2.5D玻璃很早就出现在手机上了,但随着iPhone 6的推出才广为人知,这种玻璃在边缘有着明显的弧度,手指划到此处时自然过渡、没有割裂感。
  刨除2.5D玻璃的干扰,小米Note正面依然有着很强的小米手机风格。
  按官方说法,小米Note在背面采用的是一种"3D玻璃",其实就是在原本平整玻璃的边缘进行了弯曲。从上图的迎光来看,弯曲效果是非常明显的,甚至有一点Galaxy Note Edge的味道,当然那个是为了显示内容,而这个是为了手感。
  既然前后是玻璃,所以小米Note的耐摔性很让人关注,从发布会上演示的视频来看,小米Note正面扣在大理石地板上完好无损,也能承受钢球的正面冲击。
  尽管如此,大家没事还是别拿去摔着玩了,因为目前的手机屏幕均采用了全贴合技术,也就是保护玻璃、显示面板、触控面板都贴合在一起,玻璃碎掉也就意味着整个屏幕都要更换,雷军称小米Note的换屏的成本占到了手机成本的一半。为此,小米也针对小米Note推出了199元的碎屏+进水险,一年内免费保修,个人觉得还是有必要买一份的。
  官方还为小米Note提供了一款皮质保护套,支持翻盖亮屏和合起熄屏效果,目前还未在官方商城上架。
  小米Note配备5.7寸/JDI屏幕,分辨率,像素密度为386PPI;顶配版搭配分辨率的2K屏幕,像素密度达到515PPI,单从规格上来讲已经达到了目前旗舰机的顶级水准。
  除了最主要的几个参数,雷军在发布会上着重讲了这块屏幕的5个特点,分别是高达95%的NTSC色域、超高对比度、阳光屏、护眼模式、大屏优化。其中护眼模式和大屏优化涉及系统层面,我们留在MIUI 6篇介绍,下面我们一一来了解下其他几项:
  首先是NTSC色域,也就是大家常说的色彩饱和度,该数值越大代表可表达的色彩范围越大,直观感受就是更加鲜艳。一般手机在72%左右(其中包括iPhone 6),此前小米4的NTSC色域达到84%,当时看来确实异常艳丽,这次小米Note则继续提升到95%,下面来对比一下:
  从左到右:iPhone 6、小米4、小米Note
  左为小米4,右为小米Note
  第二个特点是超高对比度,小米Note采用Nege负液晶技术,拥有1400:1的超高对比度。如果大家还记得,魅族MX4也采用了这一技术,其对比度也高达1100:1。
  负液晶技术就是把传统液晶发光原理来了个180度大转弯,也就是说液晶粒子偏转原理正好与正性液晶技术相反。在负液晶技术下,液晶粒子在不通电时呈水平状态,这带来一个巨大优势,比如在显示一张全黑图片时,这时背光系统仍然在工作,仍然有光射入液晶层,在正性液晶技术中,由于液晶粒子垂直,因此会有大量光线在液晶粒子两端通过,造成屏幕显示"发灰",但负液晶技术由于横向的液晶粒子阻挡了绝大部分光线,因此屏幕对黑色的表现更深沉,更接近于关屏状态。而在液晶分子通电时,由于其向垂直方向偏转,有更多的光线通过,因此图像亮部细节变得更突出。这两者结合,带来了亮度与对比度甚至是色域的全面提升。
  小米NOTE的屏幕还采用像素级动态对比调整技术,以像素为单位,对过爆的地方降低对比度,对过暗的地方增加对比度,这有些类似的TRILUMINOS (特丽魅彩)显示技术。
  除了更准确的显示图片外,这一技术还具有省电效果,因为对比度有了很大提升,所以需要的背光亮度就更小,小米在发布会上称,在一般光线下,同样显示效果小米Note可节电30%。
  很多手机厂商喜欢在发布会创造名词,比如"Retina Sound",小米Note的发布会上也诞生了一个新名词--"阳光屏",顾名思义,就是在阳光下也能看的非常清楚,比如上图。
  下面我就来看一下系统篇,瞧瞧MIUI 6针对小米Note的大屏做了哪些优化。
  毫无疑问,小米Note搭载自家的MIUI 6系统,对于这款系统相信大家都不会陌生,发布会上雷军强调,小米手机是智能家居体系中的最重要一环,这在小米Note的最新版MIUI 6上得到体现。
  下图可以看到,小米Note的锁屏界面左下角有一个圆圈标记,既然左划可直接进入相机,右划应该也能打开某个应用吧?
  果不其然,从屏幕左侧向右划动进入了一个--"智能设备",如果已经登录小米账号,便会直接显示出此前使用过的智能设备,比如小米空气净化器、小米智能插座、小米智能摄像头、小米路由等等。
  从把""的入口集成到锁屏看来,小米确实把智能家居作为一项非常重要的项目看待,未来小米手机势必继续加强在智能家居方面的中心作用。而且比较狠的是,点击顶部"智能设备"右侧的箭头,便能够直接购买摄像头、插座、等设备,这对小米用户来说有着不小的诱惑。
  除了强化智能家居体系,发布会上雷军还称最新版的MIUI 6针对5.7寸大屏做了几项优化,分别是多显示25%的内容、大字体模式、单手操作,下面我们一一来看一下。
  1、 比5寸屏多显示25%的内容
  严格来说,这算不上针对大屏的优化,而是5.7寸大屏与生俱来的优势。从小米4(左)和小米Note(右)的对比可以看出,在默认字体下,小米Note的显示内容确实比小米4多许多,这在看、时可大大减少操作次数。
  2、大字体模式
  一般来说,调整手机的字体大小时,仅仅是系统界面的字体变大,而很多第三方应用内的字体并不会随之变大。据小米官方讲,小米Note在系统底层对字体进行了全局的修改,可以做到无论是系统应用还是第三方APP,每一处的字体都真的变大。
  桌面字体和图标都变大
  新闻APP的字体也会变大
  音乐播放器字体也会变大
  3、单手模式
  对于单手模式,大家已经熟悉的不能再熟悉了,其实小米4就已经支持,小米Note在其基础上增加了"4.5寸",并提供了更方便的调出方式。
  支持3.5寸、4.0寸、4.5寸三种"单手模式"。
  从Home键向左或向右划动即可,向左划便出现在左下角,向右划便出现在右下角。未来小米其他机型也会通过固件升级实现这一功能。
  除了以上提到的三种大屏优化,小米Note还新增了"护眼模式"这并不是大家晚上看小说时用的"夜间模式",而是从硬件底层就支持的。
  可以单独设置某些APP开启"护眼模式",一般来说就是电子书、新闻聚合APP等阅读类软件。
  未开启"护眼模式"
  开启"护眼模式"
  直观对比两种模式发现,开启护眼模式后,整体色调呈现淡黄色(降低了屏幕蓝光源),不会有原先白色背光那般刺目,视觉上确实舒服的多。
  未开启"护眼模式"截图 开启"护眼模式"截图
  截图发现两种模式下完全一样,这也再次验证"护眼模式"是在硬件层面支持的,与软件本身没有关系。
  一直以来,小米都以"发烧""超高性价比"来形容每一代旗舰,标配版小米Note配备骁龙801,由四个Krait-400核心构成,28nm工艺,主频高达2.5GHz,目前看来依然是主流旗舰的不二之选。
  不过该核心诞生于2013年,当下采用骁龙801的手机顶多算是主流旗舰,距离顶级旗舰还是有些距离的。高通也没有坐以待毙,去年祭出了骁龙810这款大杀器,这是一颗20nm八核64位处理器,由四个A57核心(2.0GHz)+四个A53核心(1.5GHz)构成,它还集成了Adreno 430图形,性能相比骁龙801的Adreno 330提升80%,功耗降低50%,可以完美运行2K屏幕。
  据雷军讲,采用骁龙810的顶配版小米Note专为发烧友设计,为此,小米还为之配备了一颗4GB LPDDR4内存(标配版为3GB),存储速度为DDR3的1.7倍。另外,标配版小米Note的机身存储分为16GB和64GB,而顶配版小米Note则直接提供了64GB的机身存储,为何不是 128GB?雷军说小米的云储存非常好用。
  小米Note顶配版还支持LTE Cat 9网络,FDD制式下最大理论下载速度可达450Mbps,不过这需要运营商进行载波聚合配合,总之小米Note在移动网络方面首次走在了最前列。
  因为骁龙801还未大规模量产,顶配版小米Note要等到3月底才能,标配版小米Note则会在1月27日开放购买。
  标配版小米Note参数
  安兔兔5.6跑分
  3Dmark跑分
  GFXBench跑分
  续航方面,小米Note内置索尼/的3000mAh锂聚合物电池,与小米4的3080mAh相当,考虑到6.95的超薄机身,能做到如此容量实属不易。
  按小米的说法,在如此薄的机身上做到2800mAh就几乎是极限了,为了实现3000mAh的容量,小米Note采用了4.4V的高电压电池(一般4.2V),这样在不增加电池体积的同时有效提升了能量密度。与小米4相比,小米Note的电池体积小了8.5%,密度提升了6.3%。
  实际测试,播放30分钟在线视频,电量下降5%(从53%降到48%),夜晚待机8小时(连接,清空后台)电量下降3%。白天各种拍照、截图等操作,算是偏重度使用吧,一天使用下来还剩34%的电量,正常使用的话,续航两天是没有问题的。
  与小米4一样,小米Note也标配一款智能充电器,他会根据设备自动识别5V2A和9V1.2A以及12V1A三种充电模式,比如小米Note支持高通的9V1.2A标准快充技术,可以实现1小时充满60%,实际测试30分钟充入了51%的电量(从27%到78%),效果确实显著。
  在此之前,小米也曾推出过双卡机型,不过都是千元机,比如红米1S版、红米2等等,其中红米2宣称的双只是支持TDD-LTE和FDD-LTE制式,并不是常说的移动双4G。
  小米Note则是旗下首款具备双卡双待、真正支持移动、联通双4G的机型,具体就是五模15频。其网络支持在官网表示如下:
  可以看到,小米Note双网通版同时支持移动4G和联通4G,也就是说它的移动版和联通版是同一款机型。此外,未来小米还会推出电信版,那会是一款全网通手机,随着越来越多的手机开始支持电信网络,"一入电信深似海,从此手机不好买"的传言也越来越经不起推敲了。
  经过测试,我们手上这款双网通版确实支持移动4G和联通4G,可以随意指定使用哪张卡来上网。
  联通4G
  移动4G
  移动4G+联通4G,眼花啦?两种4G怎么可能同时出现?
  确实不可能,这种情况只是在切换网络时显示,由于显示有延迟的缘故,算是一个显示方面的小Bug吧。
  移动4G速度 联通4G速度
  这次小米Note的后置摄像头采用了索尼1300万第二代堆栈式感光元件,拥有F/2.0光圈以及6P镜头,最大的提升就是支持OIS光学防抖。
  我们知道,光学防抖是利用陀螺仪感应手机抖动,然后指挥音圈马达推动镜头执行防抖,这个过程中防抖IC传感器必不可少,小米Note是小米首款具备光学防抖的手机,在拍摄室内样张或户外夜景时会有很大的帮助。
  上图是小米Note夜景样张放大到100%的效果,无支架纯手动拍摄,当时的环境比较昏暗,不过上的字迹显示的很是清晰,并没有因为手部的抖动而出现模糊迹象。
  原图如下:
  另外,小米Note还搭配了双色温补光灯,而且真的是"补光灯",因为它可以在拍摄时开启常亮模式,而不像大多数手机只是在按下快门的刹那闪光一次。
  一般手机提供"自动""打开""关闭"三个闪光选项,小米Note则增加了"补光"功能。
  雷军在发布会上以生日吹蜡烛的场景为例介绍了"补光"模式的优势。
  在主摄像头增加了OIS光学防抖之外,小米Note的前置摄像头也有了很大升级,就是采用了HTC One M8上的那个400万像素后置摄像头,这颗摄像头采用UltraPixel技术,单个像素达到了2um,感光效果更佳,自拍时也更为出色。
  下面我们通过小米Note和iPhone 6的样张来对比一下:
  小米Note
  iPhone 6
  对比小米Note和iPhone 6来看,两者在顺光下的表现都比较理想,景物光照强烈、色调明快,建筑物和蓝色天空的交界处非常清晰。
  iPhone在白平衡方面一直具有很大的优势,从地面和右侧墙体的还原程度来看,小米Note还有进步空间。
  小米Note采用的是1300万像素摄像头,在细节还原方面要优于iPhone 6。
  或许是工程机的缘故,小米Note在表现逆光时还有所欠缺,远处建筑物顶部的细节被阳光遮盖,右侧原本蓝色的天空也表现出白色。
  不过得益于大光圈和自动HDR功能,逆光下树木的阴影面也非常明亮,暗部细节也得到很好的保留。
  从电线杆和树干的背光面可以看出,小米Note要比iPhone 6明亮的多,有点儿类似补光的效果,更利于在逆光下凸出被拍主体。
  在这种大逆光的场景下,大家不妨试试开启实时HDR模式,这时远处楼顶的细节就保留的很好了,整个画面的立体感也强化了不少。
  上面两幅图中,两部手机都表现出了旗舰级的拍照水平,相较而言,iPhone在宽容度方面略胜一筹,图片明亮、阴暗的部位都得到较好的体现;而小米Note胜在色彩丰富,对比度强烈,整体色调更夺人眼球。
  小米Note的夜景给人的最大感受就是色彩浓郁,画质锐利,这除了其优秀的感光元件和支持OIS光学防抖外,还跟其默认亮度偏低有一定关系。如果你不是很喜欢这种"暗黑"风格,可以通过对焦后的测光调节环调整。
  提到小米旗舰机,很多人还会想到"1999元",毕竟从小米1到小米4,四代旗舰无一例外都是这个价格。不过力的作用是相互的,标签贴久了也就很难撕下来了,小米此前一直以"高性价比"自居,虽然吸引了不少发烧友却也限制自己品牌的提升。
  随着红米手机的畅销,小米的市场均价也在下滑,加之魅族、等国产手机厂商的夹击,这时势必要推出一款更具影响力的产品,这,或许就是小米Note。
  小米Note采用金属边框+双曲面玻璃设计,在用料、设计方面都下了很大功夫,6.95mm超薄机身搭配3D玻璃摸起来颇为圆润,握拿在手上也非常舒适。
  值得一提的是,小米Note首次在摄像头配备OIS光学防抖功能,而且通过重构镜头模组使之并没有凸出于后壳,官方还为之申请了专利。
  小米Note也是小米首款双卡双待、同时支持移动、联通双4G的机型,未来还会推出电信版,也就是全网通版本,只是要等待一段时间。
  综合来看,小米Note售价2299元起,虽然它是有史以来最贵的小米手机,但结合3D玻璃材质、顶级Hi-Fi,OIS光学防抖等配置,在国内同级别手机中仍有着不错的竞争力。至于顶配版小米Note,骁龙810、2K屏纵然有着不小的诱惑力,不过其3299元的售价究竟能有多少发烧友接受,就留待市场的检验了。
[ 责任编辑:高冉 ]
为更好推动开放架构发展,打造开…
甲骨文的云战略已经完成第一阶段…
软件信息化周刊
比特软件信息化周刊提供以数据库、操作系统和管理软件为重点的全面软件信息化产业热点、应用方案推荐、实用技巧分享等。以最新的软件资讯,最新的软件技巧,最新的软件与服务业内动态来为IT用户找到软捷径。
商务办公周刊
比特商务周刊是一个及行业资讯、深度分析、企业导购等为一体的综合性周刊。其中,与中国计量科学研究院合力打造的比特实验室可以为商业用户提供最权威的采购指南。是企业用户不可缺少的智选周刊!
比特网络周刊向企业网管员以及网络技术和产品使用者提供关于网络产业动态、技术热点、组网、建网、网络管理、网络运维等最新技术和实用技巧,帮助网管答疑解惑,成为网管好帮手。
服务器周刊
比特服务器周刊作为比特网的重点频道之一,主要关注x86服务器,RISC架构服务器以及高性能计算机行业的产品及发展动态。通过最独到的编辑观点和业界动态分析,让您第一时间了解服务器行业的趋势。
比特存储周刊长期以来,为读者提供企业存储领域高质量的原创内容,及时、全面的资讯、技术、方案以及案例文章,力求成为业界领先的存储媒体。比特存储周刊始终致力于用户的企业信息化建设、存储业务、数据保护与容灾构建以及数据管理部署等方面服务。
比特安全周刊通过专业的信息安全内容建设,为企业级用户打造最具商业价值的信息沟通平台,并为安全厂商提供多层面、多维度的媒体宣传手段。与其他同类网站信息安全内容相比,比特安全周刊运作模式更加独立,对信息安全界的动态新闻更新更快。
新闻中心热点推荐
新闻中心以独特视角精选一周内最具影响力的行业重大事件或圈内精彩故事,为企业级用户打造重点突出,可读性强,商业价值高的信息共享平台;同时为互联网、IT业界及通信厂商提供一条精准快捷,渗透力强,覆盖面广的媒体传播途径。
云计算周刊
比特云计算周刊关注云计算产业热点技术应用与趋势发展,全方位报道云计算领域最新动态。为用户与企业架设起沟通交流平台。包括IaaS、PaaS、SaaS各种不同的服务类型以及相关的安全与管理内容介绍。
CIO俱乐部周刊
比特CIO俱乐部周刊以大量高端CIO沙龙或专题研讨会以及对明星CIO的深入采访为依托,汇聚中国500强CIO的集体智慧。旨为中国杰出的CIO提供一个良好的互融互通 、促进交流的平台,并持续提供丰富的资讯和服务,探讨信息化建设,推动中国信息化发展引领CIO未来职业发展。
IT专家新闻邮件长期以来,以定向、分众、整合的商业模式,为企业IT专业人士以及IT系统采购决策者提供高质量的原创内容,包括IT新闻、评论、专家答疑、技巧和白皮书。此外,IT专家网还为读者提供包括咨询、社区、论坛、线下会议、读者沙龙等多种服务。
X周刊是一份IT人的技术娱乐周刊,给用户实时传递I最新T资讯、IT段子、技术技巧、畅销书籍,同时用户还能参与我们推荐的互动游戏,给广大的IT技术人士忙碌工作之余带来轻松休闲一刻。
微信扫一扫
关注ChinabyteiPhone屏幕适配,启动页设置,xcode6 开启 iPhone6 & iPhone6 plus 分辨率
iphone手机屏幕变大之后,我们iOS开发者也要关注屏幕适配了,有时还会遇见莫名其妙的问题:如:
程序启动后状态栏字体变大:
这个问题就是因为我们的APP启动界面图片问题,简单的解决办法就是启动页面图片分辨率改成相应屏幕分辨率。具体原因往下看:
我们可以穿件一个XIB文件来当作启动页:当app启动的时候就可以自动加载这个xib文件
初代 iPhone
2007 年,初代 iPhone 发布,屏幕的宽高是 320 x 480 像素。下文也是按照宽度,高度的顺序排列。这个分辨率一直到 iPhone 3GS 也保持不变。
那时编写 iOS 的 App(应用程序),只支持绝对定位。比如一个按钮(x, y, width, height) = (20, 30, 40, 50),就表示它的宽度是 40 像素,高度是 50 像素,放在(20, 20)像素的位置。
2010 年,iPhone 4 发布,率先采用 Retina 显示屏,在屏幕的物理尺寸不变的情况下,像素成倍增加,达到 640 x 960 像素。
这样就出现一个问题,怎么让原有的 App 运行在新的手机上面?iPhone 手机一个优势,就是有众多优秀的 App,假如不兼容原有的 App,就相当于放弃这个得来不易的优势,是很不明智的。
每当 iPhone 的屏幕有所变化,比如 iPhone 3GS 过渡到 iPhone 4, iPhone 4 过渡到 iPhone 5, iPhone 5 过渡到 iPhone 6,苹果公司都需要想办法来解决上述的兼容问题。
为了运行之前的 App,引入一个新的概念 point(点)。点这个概念在 iOS 开发中十分重要,而实际用户很少关注。iPhone 4 屏幕尺寸继续保持 320 x 480,不过单位并非是像素,而是点。
在 iPhone 3GS 中,1 个点等于 1 个像素。也就是说,点跟像素可以直接互换。
在 iPhone 4 中,1 个点等于 2 个像素。
这篇文章中,我将点和像素当成一维的长度单位,而非二维的面积单位,这样对于我来说更自然些,因此 1 个点等于 2 个像素。别的文章中可能会说 1 个点等于 4 个像素,其实是指 1 个点占据了 4 个像素的面积,这样也没有说错,注意上下文语境。
iPhone 4 和 iPhone 3GS 的屏幕尺寸实际上是一样的,都是 3.5 英寸。同样一个点,实际尺寸看起来是一样的。只是 iPhone 4 在单位英寸上像素更多,看起来更细腻。
开发 iOS 的时候,使用点作为基本单位会更加方便,列表对比:
这里的屏幕模式可以初步理解成,一个点等于多少个像素。2x,就是 1 个点等于 2 个像素。
总结一下单位
手机屏幕的物理长度,使用英寸作为单位。比如 iPhone 4 屏幕是 3.5 英寸,iPhone 5 是 4 英寸,iphone 6 是 4.7 英寸,这里的数字是指手机屏幕对角线的物理长度。
屏幕像素,比如 iPhone 3GS 屏幕是 320 x 480 像素,iPhone 4 是 640 x 960 像素,这里的像素可以想象成屏幕上真正用来显示颜色的发光小点。
点,开发 App 时候使用的单位,是一个虚拟的单位,并非实际存在的,因此点有时也叫虚拟点。点这个单位,用于屏蔽各个屏幕设备的不同,兼容以前的程序。
每英寸有多少个像素,称为 ppi(pixel per inch)。iPhone 4 的屏幕是 640 x 960 像素,3.5 英寸,我们没有宽高的实际尺寸,就按照对角线来粗略计算它的 ppi。将像素当做长度单位,根据勾股定理,对角线就是 1154 像素。屏幕对角线的实际长度为 3.5 英寸,也就是 1154 像素除以 3.5 英寸,得出 330ppi。而官方给出的数字是 326ppi。当像素太密,超过 300ppi 的时候,人眼也就不能区分出每个像素。因此 iPhone 4 的屏幕叫作 Retina 显示屏。Retina 在英文中,是视网膜的意思。
iPhone 4 之后(x, y, width, height) = (20, 30, 40, 50),就表示高度为 40 个点,宽度为 50 个点,放在(20, 20)个点的位置。这种处理方法,将之前以像素作为单位自动转换成以点作为单位,使得 iPhone 3GS 的应用程序,不用修改也可运行在 iPhone 4 上面。
文字,颜色等是矢量数据,放大不会失真。原有的 iPhone 3GS 程序,在 iPhone 4 上面运行,文字显示也十分清晰。
而图片并非矢量数据,处理方式有所不同。假设图片 example.png,大小为 30 x 40 像素(这里的单位是像素,数字图片的单位通常都为像素)。当这张 example.png 在 iPhone 3GS 和 iPhone 4 中使用时候,都占据屏幕上 30 x 40 个点。而因为 iPhone 4 中 1 个点等于 2 个像素,也就是 30 x 40 像素的图片,占据了 60 x 80 像素的屏幕,因此这图片在 iPhone 4 中看起来就会模糊。
开发的时候,为使得图片清晰,需要进行图片适配。这时需要准备两张内容相同的图片,放在同一目录下。
example.png & & &// 30 x 40 像素
example@2x.png & // 60 x 80 像素
当程序中使用 example.png 的时候,会根据屏幕模式自动选择对应的图片。屏幕 1x 模式,就会选择 example.png, 2x 模式就会优先选择 example@2x.png,假如 example@2x.png 不存在,就选择 example.png。
图片跟屏幕一样,也有 1x 模式,2x 模式。在 iPhone 6 Plus 中,还出现 3x 模式,原理是一样的。
当 iPhone 4 选中 example@2x.png 的图片,就会生成一张大小为 30 x 40 个点,2x 模式的图片。这个时候,图片看起来就会很清晰了。而没有适配的旧程序,example@2x.png 不存在,就选中 example.png,生成大小为 30 x 40 个点,1x 模式的图片,看起来比较模糊。但它们占据的屏幕点数是一样的。
2012 年,苹果发布 iPhone 5。我们将所有机型对比,依然采用点作为单位。
跟 iPhone 4 做比较, iPhone 5 的宽度保持不变。高度增加 568 - 480 = 88 个点。
在 iOS 开发中,44 这个数字比较特殊。iOS 界面指南写着,人类的手指有一定大小,点击区域低于 44 个点的时候,就难以点中。44 的两倍就是 88。
当原有程序没有适配 iPhone 5 的时候,也可以正常运行,但多出来的 88 个点将会将会被自动均分为上下两部分,使得上下出现黑边。我找不到好看的图片。
那么怎样才能告诉 iOS 系统,应用程序已经适配了 iPhone 5 呢?在这里,我们先扯开一下,谈一下启动图片。
点击主屏幕的图标,进入 App 的时候,会立即显示一张图片,这张图片就是启动图片(Launch Image)。App 在正式启动的时需要做一些初始化处理,这通常比较费时。先出现启动图片,可以使用户觉得系统立即有响应,减少等待的焦虑感。
每个机型,比如同时支持 iPhone 和 iPad 的程序,需要分别为 iPhone 跟 iPad 指定启动图片。当旧的 iPhone 4 的程序,运行在 iPhone 5 上面,没有 iPhone 5 的启动图片,就采用兼容模式,上下留黑边。当为 iPhone 5 指定了新的启动图片,系统就认为这个应用程序是已经适配了 iPhone 5 的,上下就不会留黑边了。下面是微信启动图片,应该都很熟悉了。
微信启动图片中出现的那个地球,叫蓝色弹珠(The Blue Marble),是在 1972 年 12 月 7 日由阿波罗 17 号太空船的船员所拍摄的。这张照片当年很震撼,是普通人第一次可以通过照片直接看到地球的全貌。见问题?
微信的启动图,为适配 iPhone 5,相比与 iPhone 4, 很明显狭长了。
典型 iPhone 应用程序(游戏除外),很多是上面一个导航栏,下面一个工具栏或者标签栏, 中间一大块用于显示的内容区。iPhone 5 拉长了,对于程序的适配,也不算麻烦,内容区的内容基本是动态生成的。适配时候可以简单上下不变,中间的内容区拉长就行了。注意,导航栏和工具栏的高度也是 44 个点。下面是同一程序,在 iPhone 4 跟 iPhone 5 的对比。
AutoLayout
到了这个时候,传统绝对定位的弱点就显露出来了。这时 iPhone 按照点作为单位,已经出现了两种不同尺寸的屏幕,算上 iPad, 就有 3 种尺寸(有些 App 可以同时兼容 iPhone 和 iPad,称为 Universal)。
从iOS 6系统发布后,iOS开发中可以采用一种 AutoLayout 的技术。AutoLayout 就像网页一样,指定 View,Button,Text 之间的相对位置,比如靠左多少,靠右多少,居中多少等等。举个例子,像下面的简单布局。
假设左上角的区域为 view1, 右上角的区域为 view2, 下面的区域为 view3。AutoLayout 会说:
view1.left&=&20&&&&&&&&&&&&&&& //&View1&的左边距离边界&20&个点
view1.top&=&20&&&&&&&&&&&&&&&& //&View1&的上边距离边界&20&个点
view2.right&=&20&&&&&&&&&&&&&& //&View2&的右边距离边界&20&个点
view2.top&=&20&&&&&&&&&&&&&&&& //&View2&的上边距离边界&20&个点
view2.left&=&view1.right&+&20& //&View2&的左边距离&View1&右边&20&个点
view2.width&=&view1.width&&&&& //&View1&的宽度等于&View2&的宽度
view2.height&=&view1.height&&& //&view1&高度等于&view2&高度
view3.left&=&view1.left&&&&&&& //&view3&的跟&view1&左对齐
view3.right&=&view2.right&&&&& //&view3&跟&view2&右对齐
view3.top&=&view1.bottom&+&20& //&view3&的上边距离&view1&下边&20&个点
view3.bottom&=&20&&&&&&&&&&&&& //&view3&下边距离边界&20&个点
view3.height&=&view1.height&&& //&view3&高度等于&view1&高度
指定上面的约束条件后,AutoLayout 就会自动算出对应的布局。上面我写得比较繁琐,事实上很多操作都是可以使用鼠标拖拉来指定的,并不一定需要使用代码。但就算用代码,也有简写的方法。下面是在 xib 中,拖拉鼠标指定约束时的界面。
而绝对定位,会直接说
view1.frame&=&(x1,&y1,&width1,&height1)
view2.frame&=&(x2,&y2,&width2,&height2)
view3.frame&=&(x3,&y3,&width3,&height3)
绝对定位并非指定约束条件,而是开发者自己来精确指定 View,Button, Text 等的实际坐标大小。
对于一个屏幕,绝对定位可能跟 AutoLayout 的区别不算大,甚至绝对定位会更方便些。但当需要同时适配多个屏幕,AutoLayout 根本不需要更改。而绝对定位就需要根据屏幕大小,一个个算出来。比如横屏,在 AutoLayout 下面,就自动变成:
这里不过是 3 个控件的布局,当出现的控件数越多,屏幕尺寸越多,AutoLayout 的优势就显露出来了。另外 AutoLayout 有个好处是容易支持多语言,不同语言下,同一个意思文字的长度是不同的,使用 AutoLayout 也可以自动适配。
在 iOS 6 的时候,AutoLayout 还比较少人使用,当时屏幕尺寸还比较少。iOS 7 的时候,就开始很多人使用了。而到现在 iOS 8 了, 更加上 iPhone 6, iPhone 6 Plus 需要适配,AutoLayout 大势所趋,不用不行了。
iPhone 6和iPhone 6 Plus
2014 年,iPhone 6和iPhone 6 Plus 发布后,情况又有新的变化。再次比较所有 iPhone 机型。
屏幕尺寸再度分裂。但是我们比较 iPhone 5 跟 iPhone 6 的宽高比例。
可以看出,iPhone 6 跟 iPhone 5 虽然屏幕尺寸改变了,但是它们的比例是不变的。都是 9 & 16 = 0.5625 的屏幕。
当旧的 iPhone 5 程序运行在 iPhone 6 上面,假如没有经过适配,旧程序自动等比放大,铺满新手机,旧程序也可以正常运行。这种方案可算是自动适配。但因为旧程序拉伸了,整体看起来有点虚,也不能更好利用大屏空间。
当需要开发者手动适配的时候,跟 iPhone 4 过渡到 iPhone 5 一样,在新程序中,指定一张新的启动图片。当指定了启动图,屏幕分辨率就已经变成应有的大小,这时候利用 AutoLayout 进行布局,同一份代码,就可以支持多个机型。新手机的屏幕更大,有更多的虚拟点,可以显示更多的内容。
值得注意一点是,iPhone 6 Plus。它的宽高是 414 & 736 个点,3x 模式,理想上来说,应该有 1242 & 2208 像素。但 iPhone 6 Plus 的实际像素是 1080 & 1920,是比理想值要少一点的。iPhone 6 Plus 的处理方式是将程序整体稍微缩小一点。分辨率很高,这点区别,实际上也看不出来。
那为什么需要这样做呢?上面表格中 iPhone 6, iPhone 6 Plus 屏幕宽高的逻辑点的数字是怎么来的?下面我猜测一下原因,但不能证实。
先看 iPhone 6,这个比较简单。iPhone 6 的屏幕宽高比例跟 iPhone 5 一样,使用对角线来计算,就是放大了 4.7 & 4 = 1.175 倍。用这个数字,乘以 iPhone 5 的 320 x 568 个点,忽略误差,差不多就是 iPhone 6 屏幕的 375 x 667 个点。这里需要注意,屏幕宽高比例一样,才能使用对角线来计算。
按照上面的方式来计算 iPhone 6 Plus, 应该是得到 440 x 781 个点,实际上却是 414 & 736 个点。这里我猜测是因为,iPhone 6 Plus 屏幕明显更大,相同尺寸的点放在大的屏幕上面,会使得人感觉尺寸变小,所以就将每个点的实际尺寸放大一些,从而得到更少的点数目。人眼看东西会有种错觉,并非是孤立的看的,而是跟周围的环境作比较。
确定了点数目之后,再确定了像素 1080 & 1920(很多高清电视就是这个尺寸),应该是 .6x,但 2.6x 这个数字开发就太麻烦了,就按照 3x 来处理。其实假如像素达到 1242 & 2208,3x 下也可以精确到 1:1, 这样会更好。但现今的技术在考虑电池,处理器,屏幕尺寸等综合因素下,很可能达不到这样的细腻程度。
上述只是猜测,我相信那些手机参数是经过反复考虑再确定的。iPhone 6 Plus 这个处于手机跟平板中间地带的产物经过不少特殊处理。
由分析可以看到,慢慢的为了适配多个机型,程序的启动图片也逐渐增多,为解决这个问题。iOS 8 之后,可以使用 xib 来搭建启动界面,这样就可以同一个启动界面,适配多个机型,减少启动图片占用的空间。
初代 iPhone
2007 年,初代 iPhone 发布,屏幕的宽高是 320 x 480 像素。下文也是按照宽度,高度的顺序排列。这个分辨率一直到 iPhone 3GS 也保持不变。
那时编写 iOS 的 App(应用程序),只支持绝对定位。比如一个按钮(x, y, width, height) = (20, 30, 40, 50),就表示它的宽度是 40 像素,高度是 50 像素,放在(20, 20)像素的位置。
2010 年,iPhone 4 发布,率先采用 Retina 显示屏,在屏幕的物理尺寸不变的情况下,像素成倍增加,达到 640 x 960 像素。
这样就出现一个问题,怎么让原有的 App 运行在新的手机上面?iPhone 手机一个优势,就是有众多优秀的 App,假如不兼容原有的 App,就相当于放弃这个得来不易的优势,是很不明智的。
每当 iPhone 的屏幕有所变化,比如 iPhone 3GS 过渡到 iPhone 4, iPhone 4 过渡到 iPhone 5, iPhone 5 过渡到 iPhone 6,苹果公司都需要想办法来解决上述的兼容问题。
为了运行之前的 App,引入一个新的概念 point(点)。点这个概念在 iOS 开发中十分重要,而实际用户很少关注。iPhone 4 屏幕尺寸继续保持 320 x 480,不过单位并非是像素,而是点。
在 iPhone 3GS 中,1 个点等于 1 个像素。也就是说,点跟像素可以直接互换。
在 iPhone 4 中,1 个点等于 2 个像素。
这篇文章中,我将点和像素当成一维的长度单位,而非二维的面积单位,这样对于我来说更自然些,因此 1 个点等于 2 个像素。别的文章中可能会说 1 个点等于 4 个像素,其实是指 1 个点占据了 4 个像素的面积,这样也没有说错,注意上下文语境。
iPhone 4 和 iPhone 3GS 的屏幕尺寸实际上是一样的,都是 3.5 英寸。同样一个点,实际尺寸看起来是一样的。只是 iPhone 4 在单位英寸上像素更多,看起来更细腻。
开发 iOS 的时候,使用点作为基本单位会更加方便,列表对比:
这里的屏幕模式可以初步理解成,一个点等于多少个像素。2x,就是 1 个点等于 2 个像素。
总结一下单位
手机屏幕的物理长度,使用英寸作为单位。比如 iPhone 4 屏幕是 3.5 英寸,iPhone 5 是 4 英寸,iphone 6 是 4.7 英寸,这里的数字是指手机屏幕对角线的物理长度。
屏幕像素,比如 iPhone 3GS 屏幕是 320 x 480 像素,iPhone 4 是 640 x 960 像素,这里的像素可以想象成屏幕上真正用来显示颜色的发光小点。
点,开发 App 时候使用的单位,是一个虚拟的单位,并非实际存在的,因此点有时也叫虚拟点。点这个单位,用于屏蔽各个屏幕设备的不同,兼容以前的程序。
每英寸有多少个像素,称为 ppi(pixel per inch)。iPhone 4 的屏幕是 640 x 960 像素,3.5 英寸,我们没有宽高的实际尺寸,就按照对角线来粗略计算它的 ppi。将像素当做长度单位,根据勾股定理,对角线就是 1154 像素。屏幕对角线的实际长度为 3.5 英寸,也就是 1154 像素除以 3.5 英寸,得出 330ppi。而官方给出的数字是 326ppi。当像素太密,超过 300ppi 的时候,人眼也就不能区分出每个像素。因此 iPhone 4 的屏幕叫作 Retina 显示屏。Retina 在英文中,是视网膜的意思。
iPhone 4 之后(x, y, width, height) = (20, 30, 40, 50),就表示高度为 40 个点,宽度为 50 个点,放在(20, 20)个点的位置。这种处理方法,将之前以像素作为单位自动转换成以点作为单位,使得 iPhone 3GS 的应用程序,不用修改也可运行在 iPhone 4 上面。
文字,颜色等是矢量数据,放大不会失真。原有的 iPhone 3GS 程序,在 iPhone 4 上面运行,文字显示也十分清晰。
而图片并非矢量数据,处理方式有所不同。假设图片 example.png,大小为 30 x 40 像素(这里的单位是像素,数字图片的单位通常都为像素)。当这张 example.png 在 iPhone 3GS 和 iPhone 4 中使用时候,都占据屏幕上 30 x 40 个点。而因为 iPhone 4 中 1 个点等于 2 个像素,也就是 30 x 40 像素的图片,占据了 60 x 80 像素的屏幕,因此这图片在 iPhone 4 中看起来就会模糊。
开发的时候,为使得图片清晰,需要进行图片适配。这时需要准备两张内容相同的图片,放在同一目录下。
example.png & & &// 30 x 40 像素
example@2x.png & // 60 x 80 像素
当程序中使用 example.png 的时候,会根据屏幕模式自动选择对应的图片。屏幕 1x 模式,就会选择 example.png, 2x 模式就会优先选择 example@2x.png,假如 example@2x.png 不存在,就选择 example.png。
图片跟屏幕一样,也有 1x 模式,2x 模式。在 iPhone 6 Plus 中,还出现 3x 模式,原理是一样的。
当 iPhone 4 选中 example@2x.png 的图片,就会生成一张大小为 30 x 40 个点,2x 模式的图片。这个时候,图片看起来就会很清晰了。而没有适配的旧程序,example@2x.png 不存在,就选中 example.png,生成大小为 30 x 40 个点,1x 模式的图片,看起来比较模糊。但它们占据的屏幕点数是一样的。
2012 年,苹果发布 iPhone 5。我们将所有机型对比,依然采用点作为单位。
跟 iPhone 4 做比较, iPhone 5 的宽度保持不变。高度增加 568 - 480 = 88 个点。
在 iOS 开发中,44 这个数字比较特殊。iOS 界面指南写着,人类的手指有一定大小,点击区域低于 44 个点的时候,就难以点中。44 的两倍就是 88。
当原有程序没有适配 iPhone 5 的时候,也可以正常运行,但多出来的 88 个点将会将会被自动均分为上下两部分,使得上下出现黑边。我找不到好看的图片。
那么怎样才能告诉 iOS 系统,应用程序已经适配了 iPhone 5 呢?在这里,我们先扯开一下,谈一下启动图片。
点击主屏幕的图标,进入 App 的时候,会立即显示一张图片,这张图片就是启动图片(Launch Image)。App 在正式启动的时需要做一些初始化处理,这通常比较费时。先出现启动图片,可以使用户觉得系统立即有响应,减少等待的焦虑感。
每个机型,比如同时支持 iPhone 和 iPad 的程序,需要分别为 iPhone 跟 iPad 指定启动图片。当旧的 iPhone 4 的程序,运行在 iPhone 5 上面,没有 iPhone 5 的启动图片,就采用兼容模式,上下留黑边。当为 iPhone 5 指定了新的启动图片,系统就认为这个应用程序是已经适配了 iPhone 5 的,上下就不会留黑边了。下面是微信启动图片,应该都很熟悉了。
微信启动图片中出现的那个地球,叫蓝色弹珠(The Blue Marble),是在 1972 年 12 月 7 日由阿波罗 17 号太空船的船员所拍摄的。这张照片当年很震撼,是普通人第一次可以通过照片直接看到地球的全貌。见问题?
微信的启动图,为适配 iPhone 5,相比与 iPhone 4, 很明显狭长了。
典型 iPhone 应用程序(游戏除外),很多是上面一个导航栏,下面一个工具栏或者标签栏, 中间一大块用于显示的内容区。iPhone 5 拉长了,对于程序的适配,也不算麻烦,内容区的内容基本是动态生成的。适配时候可以简单上下不变,中间的内容区拉长就行了。注意,导航栏和工具栏的高度也是 44 个点。下面是同一程序,在 iPhone 4 跟 iPhone 5 的对比。
AutoLayout
到了这个时候,传统绝对定位的弱点就显露出来了。这时 iPhone 按照点作为单位,已经出现了两种不同尺寸的屏幕,算上 iPad, 就有 3 种尺寸(有些 App 可以同时兼容 iPhone 和 iPad,称为 Universal)。
从iOS 6系统发布后,iOS开发中可以采用一种 AutoLayout 的技术。AutoLayout 就像网页一样,指定 View,Button,Text 之间的相对位置,比如靠左多少,靠右多少,居中多少等等。举个例子,像下面的简单布局。
假设左上角的区域为 view1, 右上角的区域为 view2, 下面的区域为 view3。AutoLayout 会说:
view1.left&=&20&&&&&&&&&&&&&&& //&View1&的左边距离边界&20&个点
view1.top&=&20&&&&&&&&&&&&&&&& //&View1&的上边距离边界&20&个点
view2.right&=&20&&&&&&&&&&&&&& //&View2&的右边距离边界&20&个点
view2.top&=&20&&&&&&&&&&&&&&&& //&View2&的上边距离边界&20&个点
view2.left&=&view1.right&+&20& //&View2&的左边距离&View1&右边&20&个点
view2.width&=&view1.width&&&&& //&View1&的宽度等于&View2&的宽度
view2.height&=&view1.height&&& //&view1&高度等于&view2&高度
view3.left&=&view1.left&&&&&&& //&view3&的跟&view1&左对齐
view3.right&=&view2.right&&&&& //&view3&跟&view2&右对齐
view3.top&=&view1.bottom&+&20& //&view3&的上边距离&view1&下边&20&个点
view3.bottom&=&20&&&&&&&&&&&&& //&view3&下边距离边界&20&个点
view3.height&=&view1.height&&& //&view3&高度等于&view1&高度
指定上面的约束条件后,AutoLayout 就会自动算出对应的布局。上面我写得比较繁琐,事实上很多操作都是可以使用鼠标拖拉来指定的,并不一定需要使用代码。但就算用代码,也有简写的方法。下面是在 xib 中,拖拉鼠标指定约束时的界面。
而绝对定位,会直接说
view1.frame&=&(x1,&y1,&width1,&height1)
view2.frame&=&(x2,&y2,&width2,&height2)
view3.frame&=&(x3,&y3,&width3,&height3)
绝对定位并非指定约束条件,而是开发者自己来精确指定 View,Button, Text 等的实际坐标大小。
对于一个屏幕,绝对定位可能跟 AutoLayout 的区别不算大,甚至绝对定位会更方便些。但当需要同时适配多个屏幕,AutoLayout 根本不需要更改。而绝对定位就需要根据屏幕大小,一个个算出来。比如横屏,在 AutoLayout 下面,就自动变成:
这里不过是 3 个控件的布局,当出现的控件数越多,屏幕尺寸越多,AutoLayout 的优势就显露出来了。另外 AutoLayout 有个好处是容易支持多语言,不同语言下,同一个意思文字的长度是不同的,使用 AutoLayout 也可以自动适配。
在 iOS 6 的时候,AutoLayout 还比较少人使用,当时屏幕尺寸还比较少。iOS 7 的时候,就开始很多人使用了。而到现在 iOS 8 了, 更加上 iPhone 6, iPhone 6 Plus 需要适配,AutoLayout 大势所趋,不用不行了。
iPhone 6和iPhone 6 Plus
2014 年,iPhone 6和iPhone 6 Plus 发布后,情况又有新的变化。再次比较所有 iPhone 机型。
屏幕尺寸再度分裂。但是我们比较 iPhone 5 跟 iPhone 6 的宽高比例。
可以看出,iPhone 6 跟 iPhone 5 虽然屏幕尺寸改变了,但是它们的比例是不变的。都是 9 & 16 = 0.5625 的屏幕。
当旧的 iPhone 5 程序运行在 iPhone 6 上面,假如没有经过适配,旧程序自动等比放大,铺满新手机,旧程序也可以正常运行。这种方案可算是自动适配。但因为旧程序拉伸了,整体看起来有点虚,也不能更好利用大屏空间。
当需要开发者手动适配的时候,跟 iPhone 4 过渡到 iPhone 5 一样,在新程序中,指定一张新的启动图片。当指定了启动图,屏幕分辨率就已经变成应有的大小,这时候利用 AutoLayout 进行布局,同一份代码,就可以支持多个机型。新手机的屏幕更大,有更多的虚拟点,可以显示更多的内容。
值得注意一点是,iPhone 6 Plus。它的宽高是 414 & 736 个点,3x 模式,理想上来说,应该有 1242 & 2208 像素。但 iPhone 6 Plus 的实际像素是 1080 & 1920,是比理想值要少一点的。iPhone 6 Plus 的处理方式是将程序整体稍微缩小一点。分辨率很高,这点区别,实际上也看不出来。
那为什么需要这样做呢?上面表格中 iPhone 6, iPhone 6 Plus 屏幕宽高的逻辑点的数字是怎么来的?下面我猜测一下原因,但不能证实。
先看 iPhone 6,这个比较简单。iPhone 6 的屏幕宽高比例跟 iPhone 5 一样,使用对角线来计算,就是放大了 4.7 & 4 = 1.175 倍。用这个数字,乘以 iPhone 5 的 320 x 568 个点,忽略误差,差不多就是 iPhone 6 屏幕的 375 x 667 个点。这里需要注意,屏幕宽高比例一样,才能使用对角线来计算。
按照上面的方式来计算 iPhone 6 Plus, 应该是得到 440 x 781 个点,实际上却是 414 & 736 个点。这里我猜测是因为,iPhone 6 Plus 屏幕明显更大,相同尺寸的点放在大的屏幕上面,会使得人感觉尺寸变小,所以就将每个点的实际尺寸放大一些,从而得到更少的点数目。人眼看东西会有种错觉,并非是孤立的看的,而是跟周围的环境作比较。
确定了点数目之后,再确定了像素 1080 & 1920(很多高清电视就是这个尺寸),应该是 .6x,但 2.6x 这个数字开发就太麻烦了,就按照 3x 来处理。其实假如像素达到 1242 & 2208,3x 下也可以精确到 1:1, 这样会更好。但现今的技术在考虑电池,处理器,屏幕尺寸等综合因素下,很可能达不到这样的细腻程度。
上述只是猜测,我相信那些手机参数是经过反复考虑再确定的。iPhone 6 Plus 这个处于手机跟平板中间地带的产物经过不少特殊处理。
由分析可以看到,慢慢的为了适配多个机型,程序的启动图片也逐渐增多,为解决这个问题。iOS 8 之后,可以使用 xib 来搭建启动界面,这样就可以同一个启动界面,适配多个机型,减少启动图片占用的空间。

我要回帖

更多关于 如何关闭qq腾讯新闻 的文章

 

随机推荐