星火作文网,小学生作文,初中作文,高中作文,优秀作文大全!马上参加作文投稿:
> 我缩小了
由于昨天差不多把作业完成了,今天我很悠闲。我在书房里用直尺、透明胶等文具搭了个&小游乐场&,虽然很晚了,但我还是津津有味地玩起来,玩着玩着&&【星火作文网 】
呀,我在哪儿啊?昨天伴我入睡的白枕头和红被子呢?我怎么站在白色的&山坡&上?远处是大片红色的&草地&?为了弄明白究竟,我滑下了&山坡&,站在红色的&草地&上,这时,我才发现:&红色的草地&是被子,松松软软的,刚才那也不是&山坡&,而是枕头。但在这&茫茫&的被子上,我怎么出去呢?是它们放大了,还是我缩小了?一步竟跳下了&深渊&,差点把腿摔断了。
好笑了,平时几步到的卫生间,我跑了3分钟才到卧室门口,天哪,要进行&马拉松&跑吗?嘿,前面是我睡觉前忘收的CF车!我爬上硕大的车子,开始后退,然后像箭一样飞了出去,我在车上兜风,眨眼间就&飞&到了洗手池旁。我爬上洗手台,摘下了一根牙刷毛,在牙膏上跳了几百下,挤出一点儿牙膏,刷了刷牙,然后又跳下洗手台,坐上CF车又兜了会儿风,来到餐厅。我爬上餐桌,看见了&飞碟&、&陨石&等早餐,我咬了一口飞碟,原来是荷包蛋,肚子有半饱了;咬了一口陨石,原来是团子,饱了。至于牛奶,我是喝不到了。(花了一上午时间)
下午,我又坐着CF车到了书房。嗬,昨天搭的小游场变成真的了,我一会儿滑滑梯,一会儿拉拉网,(透明胶横七竖八制成的&网&),开心极了!
&叮铃铃铃&&&噢,新的一天开始了。刚才只不过大梦一场而已。哈!
+10该内容对我有帮助
看过《我缩小了》的同学还看了:
··········不是只有?小??化了-Ducky Secret M、Flipper EXTRA R
?示?果? 1 到 3 共? 3 ?
不是只有?小??化了-Ducky Secret M、Flipper EXTRA R
Ducky推出的第一支滑鼠Secret的??相?不?,因??用了PBT材?外?、5?日??姆?微???、Pixart PMW3310DH光??取?,以1590的售??送一?超大尺寸鼠?CP值相?高;今年COMPUTEX?布了Ducky的第二支滑鼠,也就是?次??的主角《Ducky Secret M》,看型?就??猜到是Ducky Secret小一?的版本,用料跟Secret一?,但是《Ducky Secret M》不??只是尺寸比?小而已,外?以及?部的???Ducky Secret是有不同之?的,另外一?我?人??的部分是重量,大家一定?想尺寸小重量?然也?跟著??不是很正常有什?好??的??部分我等等也???的?明;另外??《Ducky Secret M》一?有送大尺寸鼠?,而?次送的鼠?是《Ducky Flipper EXTRA R》,?之前的Flipper EXTRA不同在於多了??,?售的?格?之前相同?590元,那?我??在就???入主??看看《Ducky Secret M》以及《Ducky Flipper EXTRA R》吧。
Ducky Secret M以及Ducky Flipper EXTRA R?用了全新的外盒??,?底搭配?色?富的字?以及?案相?的活?,?一般的常?的??不同。
首先我??Ducky Secret M滑鼠?始介?起。
如??提到的?次的外盒??相?的活?,?一般常?的??不同,Ducky Secret M的外盒?用了?底以及?富?色的?案?搭配,左上方有Ducky的??,底下?型?Secret M。
背面?是特?介?。
?容物有滑鼠、替?鼠?、?明?、保固卡。
Ducky Secret M?格
?取?: Pixart PMW3310DH光??取?
加速度:30G
DPI: 400、800、、、5000
HZ:125、250、500、1000
MCU: NXP 32-bit ARM
外?材?:PBT
左右?微???:日??姆?D2F-01F
中?微???: 日??姆?D2F-01F
??微???: 日??姆?D2F-01
DPI切????:???姆??摸??
????器:ALPS??器
背光:RGB 1680?色
?材:1.8 M???
尺寸:117.3 x 64.6 x 37mm
重量:不含?93.5g
首先提一下Secret外型是?考IE3.0做????的,Secret?於大尺寸的滑鼠,如果手比?小的玩家可以?比?不?合,或是像我手大但喜?中尺寸滑鼠的玩家,所以Ducky就以Secret?小10%??出Ducky Secret M;外?跟Secret一?是?PBT材??咬花?理,目前市面上其他滑鼠都是?用ABS材?,只有Ducky的Secret、Secret M?用PBT材?,PBT比ABS硬所以更?耐磨,?了玩家直接接?到PBT材?,所以在表面就?有上漆只做了?咬花的?理?握感提升。
上?後方有透光的Ducky?子??,前言提到Secret M?Secret在外?不同之?就是在??,透光的部分是?用二色成形的方式而成,如果有接??械式??的玩家??知道,PBT二色成形的?帽?格是比?高的,二色成形是在?作????不同?色的材料,先後注入模具中成形然後再取出,??可以?PBT透光而且?能保有PBT的?感。
左右?部分?分?式??,?在比?少有滑鼠?用??的??了,因?分?式的成本?比?高,而且比?容易因?公差?生密合度不好的情形,?於品管???比?麻?,所以?在大部分的滑鼠都是一?式的上?比?多,但一?式的上?在??按??比?容易?生??的情形,而分?式按?就?有??的???生。
左右?的微????用日??姆?D2F-01F,??感明??音比?大,?程稍?但是回?力明?,所以快速??速度也很快,手感?部分因人而?,??有?一定哪一?比?好,?竟每?人的喜好不同;另外一?就是日??姆?耐用度相?的不?,?然???姆??在有2000W、5000W?命的型?,但?只能?做?考,?然日??姆??示的??次??命比?短,但以我??使用以及?路上所得到的??,日?的?命表?是比?好的。
??外圈?橡?材?,?圈?白色半透明,半透明的部份是??光的,?用ALPS??器,段落感明?;中??左右?一??用日??姆?D2F-01F。
前端可以看出左高右低的右手??,同?可以看到右???有很明?的往外延伸,??的??趴握、抓握、爪握都??合的,像我手比?大的玩家因?Ducky Secret M尺寸比?小的??比?不?合趴握,?抓握的?候很容易掌握;如果是趴握在抬鼠?也比?好抬。
?材有防拉扯的??。
?材?用橡?包覆有?性而且很?,在移??跟桌面磨擦比?小,移?起?不?有卡卡不?的感?,架在鼠??上也不?有生硬的情形;?材上有消磁?可以?少干?,也附有魔鬼?方便整?;USB接??用?金?理,??氧化的情形。
後端可看到由左向右?斜,?斜幅度不大所以趴握?不?往右?斜很多,最高?是在靠近中?的位置,但?有很凸出所以不?有明?被?著的感?。
左?是??凹的??,??在握??比?好掌控滑鼠,因???凹??再加上?咬花?理增加磨擦力,?然?有防滑??但我使用上?有遇到手滑的情形。
左?上方有????,??的位置不???,要???也不需要移?大姆指的位置,只要往上?即可相?迅速方便;??微????用的是日??姆?D2F-01,跟D2F-01F的特性一?,但是按?感比?重。
??後方半透明??也??光唷。
右?如前面所???有很明?往外延伸。
右?的半透明??比??,也是??光的。
鼠???在四?角,?取?中?偏下一??。
鼠??黑色?氟?材?,都有???槽方便拔除鼠?。
有附一?替?鼠?,要使用??得把保?膜撕除唷;??另外提一下,Secret M?Secret使用的鼠?大小?IE3.0、IO1.1相同,市面上有相?多??,自行??相?的??。
右上?DPI?,旁??指示?;DPI?除了切?DPI外,搭配其他按?可以?整USB回??率、?整接?表面材?、切?直?修正、外??示RGB?光?定。
以下?切?DPI、?整USB回??率、?整接?表面材?、切?直?修正、外??示RGB?光?定的方式以及指示?示意?明。
首先先了解各按??明,???比?清楚。
DPI切?就是直接按DPI?,共有7段400、800、、、5000,是?循?的方式。
?整USB回??率是按DPI?+滑鼠右?,共有4段125、250、500、1000HZ。
?整接?表面材?是按DPI?+滑鼠左?,共有布?、塑??、金??、木?表面、自定?表面材?可??,可???合的模式?使用或是?定自定?表面材?。
自定?表面材?需先照?示下方的步??定,不管表面使用什??材?,如果不嫌麻?都可以?用自定?材?的功能,?????取?的表?更佳。
切?直?修正是按DPI?+滑鼠第4?,共有4段可以??,依自己????即可。
外??示RGB?光?定,DPI+滑鼠中??切?RGB循??光或是?色?光,DPI+滑鼠??向上/向下??整?色?光?色,DPI+??2下滑鼠中????/???光。
接下?就?看看?光效果吧。
接下?介?Ducky Flipper EXTRA R鼠?。
外盒???Ducky Secret M相同,??底然後搭配?色?富的型?字?。
背面下方有?格介?。
Ducky Flipper EXTRA R登?,尺寸?800 x 350 x 3mm?於超大尺寸也可??桌?,?造地???,外?以黑?搭配
表面?布??面,滑?度不?太滑或太?,如果都?有特殊需求的玩家都很?合。
表面有做防?水?理。
右上角有?色Ducky的??以及字?。
厚度?3 mm,????色???理??布?表面?底材就非常不容易分?可增加耐用度,底材?用中???天然橡??泡?理,不????致手用力??下陷很多,平整度的表?普通,但不?影?使用。
底部?交叉斜?防滑??,?乎所有天然橡?底材的鼠?都是??的??,防滑效果?不?。
把滑鼠放上去就可以明?看到,鼠?的尺寸真的很大呀。
最後??Ducky Secret M跟Ducky Flipper EXTRA R的合照。
Ducky Secret M的尺寸很?合手比?小的玩家趴握,?然要抓握、?握也是可以的,因?我手比?大的??,Ducky Secret M我?法?趴握,所以我以使用大一?的Ducky Secret的感???明趴握的感?,因??斜幅度不大所以趴握?不?往右?斜很多,最高?是在靠近中?的位置,但?有很凸出所以不?有明?被?著的感?,右???有很明?的往外延伸但是?名指?是有凸起的部分可以靠著所以?是相?舒?的,;如果是手大的玩家?抓握、?握也相??合,像我的手?於比?大的,平常都是使用??鼠?抓握,使用Ducky Secret M一下子就能??了,因?右??有??有很明?的往外延伸所以抓握以及?握?也相?好握;整?的???滑鼠很好掌控,抬鼠?也相?的好抬。
前言我有提到Ducky Secret M的重量?我很??,?是因?Ducky Secret的重量?有加砝?就有120g,不知道各位有?有??,不管是什???的???手,使用的滑鼠?大部分都在110g以下,像是Ducky Secret以及??也不?的?技G502、ASUS ROG Gladius都?有???手使用,?比?的玩家也很少看到在使用,?是因?重量重?然可以?滑鼠更?重,但是???持?操作手?比?容易累,?然?部分?是看?人啦,因???提到的?三支滑鼠一?受到很多玩家的喜?;Ducky Secret推出的?候我就跟老?大反??????,所以??Ducky Secret M也??重量的部分也下了很大功夫,Ducky Secret M的重量?93.5g,尺寸差不多同??右手??的EC2?93g,??的尺寸搭上??重量是相?不?的,不??重也不???,希望Ducky Secret之後可以?行改版或是推出另一支同尺寸但是重量比??的版本,?合喜?大尺寸但又?得重的玩家。
左右?的??感我非常的喜?,如果不喜???7N系列那?比?糊比?肉的玩家???很喜?,但是??不是???竟每?人的喜好?不相同,所以?是要?自按看看才知道,但是因?模具的不同,同?的微?也可能?生不同的感?,像是Ducky Secret跟Ducky Secret M就不同了,Ducky Secret M回?感比??烈?音也比?大;??因??用日?D2F-01按?感?比?重一些,因???不同的???比Ducky Secret更直?,??相?的不?;中??左右?一??用了日?D2F-01F,??感不重也很明?,如果常用中?的玩家???相?喜?,?用ALPS??器??的刻度感相?明?,??的感?也??的。
?用PBT材?的外??然??上不像?帽那?有很明?打感上以及使用?命上的差?,但?是一?突破以及用料高?的表?之一;使用具有?性也相??的橡?包覆?材,??的?材在移??跟桌面磨擦比?小,移?起?不?有卡卡不?的感?,架在鼠??上也不?有生硬的情形;鼠??用常?的黑色?氟?材?,因?面?是?於比?小的不是一大片的,移?起?更滑更?活,有附一?替?鼠?原本的磨?可以拆起?替?相??心,因?鼠?的大小跟IE3.0、IO1.1的相同,如果要另外??相?方便,也可以?到不同材???的?使用。
?用Pixart PMW3310DH光??取?,???於中?的??用光??取?,目前相?多滑鼠?用??都相?的不?,使用上精?度以及?定性都?有??,??了布?、塑?材?以及木?表面,?整??的接?表面材?功後都能正常使用相容性?有??,感?高度都在3?光碟停止,透?自定?功能?再降一??,在2?光碟的高度?是?感?到但是已?不能正常工作了,?是要3?光碟停止,??的感?高度算是普通,不??高但也不低,我做抬鼠?作??不?影?到,但每?人抬的高度?有所不同,所以?是要注意一下。
??相容性以及工作高度的鼠?如下
Tt eSPORTS DASHER 2016
SteelSeries Qck
Razer 重?甲? Speed ??版
ZOWIE G-SR
ZOWIE G-TFX
ROCCAT SENSE METEOR BLUE
ASUS ROG Whetstone
Ducky Flipper EXTRA R
Tt eSPORTS ???RGB
ROCCAT Alumic
ZOWIE SWIFT
?然?有AP??,但是可以切?DPI、?整USB回??率、?整接?表面材?、切?直?修正、外??示RGB?光?定,功能相?的?全,可以依自己的??跟喜好?整到最?合自己的??。
在??中的表?,我是?抓握的方式使用,移?起?相????活,?定性也相?的不?,精?度的表??然是?有??的,在快速移?下不?有掉?的情形?生,因?微?的特性?然?程比???姆??但在????的速度?是?快的。
?送的鼠?Ducky Flipper EXTRA R,?於超大尺寸的鼠?也可以??桌?,布?表面??很密?滑鼠的表?可以很?定,滑?度不?太滑或太?,如果?於滑?度?有特殊需求的玩家都相??合使用,另外有做防?水的?理,?一不小心水打翻不?很快的吸附?快擦起?就可以?,??市面上的常?的滑鼠?取?相容性都?有??;底材的天然橡?不???,???不?影?到??度,?然平整度普通但不影?使用,市面上所有的天然橡?底材的鼠?都不可能100%平整,Ducky Flipper EXTRA R用手?表面摸?去可以感?到有?多凹凸不平的地方,但是使用上是?有??的;底部的防滑效果不?,不容易有位移的情形;??有做???理,所以布?表面?底材不?分?增加耐用度,Ducky Flipper EXTRA R?售?格590元,以??格??他的整?表?是不?的。
Ducky Secret M售??1590元,用料?格都非常的好,整?的表?也很?秀CP值很高,另外?送一?Ducky Flipper EXTRA R,CP值整?高到爆?,如果有?趣的玩家可以到有展示的店家??看,因?就算整?表?很棒,但握感才是最重要的,握不??就算再好也是?有用的。
此篇文章於
被 ?眼? ??。
? ?眼? ?篇?文表?感?的?友:
????滑鼠DPI、USB回??率、接?表面材?、直?修正以及?光效果?的??值各是什??
此篇文章於
被 海苔? ??。
作者: 海苔?
????滑鼠DPI、USB回??率、接?表面材?、直?修正以及?光效果?的??值各是什??
文中的?示就有了呀!!!!
800DPI、1000HZ、布?、直?修正??、RGB循?
由airhopp??中[DIY及疑??症???]
由PB小管??中[硬????]
由Toppc??中新型 INTEL CPU 及相?主板??
由Day_knight??中[DIY及疑??症???]怎么把穿越火线屏幕缩小?_百度知道114网址导航iOS 的 APP 在系统中如何适应 iPhone 5s/6/6 Plus 三种屏幕的尺寸? - 博客频道 - CSDN.NET
志伟入归未有时
让我们从容面对别离,微笑地寻找一个不可能出现的你!
分类:iOS开发
初代iPhone
2007年,初代iPhone发布,屏幕的宽高是 320 x 480 像素。下文也是按照宽度,高度的顺序排列。这个分辨率一直到iPhone 3GS也保持不变。
那时编写iOS的App(应用程序),只支持绝对定位。比如一个按钮(x, y, width, height) = (20, 30, 40, 50),就表示它的宽度是40像素,高度是50像素,放在(20, 30)像素的位置。
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的时候,使用点作为基本单位会更加方便。列表对比
&img src=&/a70eade1ed7c78ce3fcf7e1_b.jpg& data-rawwidth=&946& data-rawheight=&296& class=&origin_image zh-lightbox-thumb& width=&946& data-original=&/a70eade1ed7c78ce3fcf7e1_r.jpg&&这里的屏幕模式可以初步理解成,一个点等于多少个像素。2x,就是1个点等于2个像素。这里的屏幕模式可以初步理解成,一个点等于多少个像素。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。我们将所有机型对比,依然采用点作为单位。
&img src=&/496fd4c6a356b9b6e5ed_b.jpg& data-rawwidth=&946& data-rawheight=&370& class=&origin_image zh-lightbox-thumb& width=&946& data-original=&/496fd4c6a356b9b6e5ed_r.jpg&&
跟iPhone 4做比较, iPhone 5的宽度保持不变。高度增加568 - 480 = 88个点。
在iOS开发中,44这个数字比较特殊。iOS界面指南写着,人类的手指有一定大小,点击区域低于44个点的时候,就难以点中。44的两倍就是88。
当原有程序没有适配iPhone 5的时候,也可以正常运行,但多出来的88个点将会将会被自动均分为上下两部分,使得上下出现黑边。我找不到好看的图片。
&img src=&/2fa38344bbffebc_b.jpg& data-rawwidth=&320& data-rawheight=&568& class=&content_image& width=&320&&
那么怎样才能告诉iOS系统,应用程序已经适配了iPhone 5呢?在这里,我们先扯开一下,谈一下启动图片。
点击主屏幕的图标,进入App的时候,会立即显示一张图片,这张图片就是启动图片(Launch Image)。App在正式启动的时需要做一些初始化处理,这通常比较费时。先出现启动图片,可以使用户觉得系统立即有响应,减少等待的焦虑感。
每个机型,比如同时支持iPhone和iPad的程序,需要分别为iPhone跟iPad指定启动图片。当旧的iPhone 4的程序,运行在iPhone 5上面,没有iPhone 5的启动图片,就采用兼容模式,上下留黑边。当为iPhone 5指定了新的启动图片,系统就认为这个应用程序是已经适配了iPhone 5的,上下就不会留黑边了。下面是微信启动图片,应该都很熟悉了。
&img src=&/bdfff495e23_b.jpg& data-rawwidth=&320& data-rawheight=&568& class=&content_image& width=&320&&
微信启动图片中出现的那个地球,叫蓝色弹珠(The Blue Marble),是在日由阿波罗17号太空船的船员所拍摄的。这张照片当年很震撼,是普通人第一次可以通过照片直接看到地球的全貌。见问题
微信的启动图,为适配iPhone 5,相比与iPhone 4, 很明显狭长了。
典型iPhone应用程序(游戏除外),很多是上面一个导航栏,下面一个工具栏或者标签栏, 中间一大块用于显示的内容区。iPhone 5拉长了,对于程序的适配,也不算麻烦,内容区的内容基本是动态生成的。适配时候可以简单上下不变,中间的内容区拉长就行了。注意,导航栏和工具栏的高度也是44个点。下面是同一程序,在iPhone 4跟iPhone 5的对比。
&img src=&/adfccd4a89fbb09322fa3_b.jpg& data-rawwidth=&320& data-rawheight=&480& class=&content_image& width=&320&&
&img src=&/ff0e4c266_b.jpg& data-rawwidth=&320& data-rawheight=&568& class=&content_image& width=&320&&
AutoLayout
到了这个时候,传统绝对定位的弱点就显露出来了。这时iPhone按照点作为单位,已经出现了两种不同尺寸的屏幕,算上iPad, 就有3种尺寸(有些App可以同时兼容iPhone和iPad,称为Universal)。
从iOS 6系统发布后,iOS开发中可以采用一种AutoLayout的技术。AutoLayout就像网页一样,指定View,Button,Text之间的相对位置,比如靠左多少,靠右多少,居中多少等等。举个例子,像下面的简单布局。
&img src=&/f859b086b99c52f6601293_b.jpg& data-rawwidth=&551& data-rawheight=&650& class=&origin_image zh-lightbox-thumb& width=&551& data-original=&/f859b086b99c52f6601293_r.jpg&&
假设左上角的区域为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中,拖拉鼠标指定约束时的界面。
&img src=&/253c000407ddaca6ed8ca1_b.jpg& data-rawwidth=&444& data-rawheight=&594& class=&origin_image zh-lightbox-thumb& width=&444& data-original=&/253c000407ddaca6ed8ca1_r.jpg&&
而绝对定位,会直接说
view1.frame = (x1, y1, width1, height1)
view2.frame = (x2, y2, width2, height2)
view3.frame = (x3, y3, width3, height3)
绝对定位并非指定约束条件,而是开发者自己来精确指定View,Button, Text等的实际坐标大小。
对于一个屏幕,绝对定位可能跟AutoLayout的区别不算大,甚至绝对定位会更方便些。但当需要同时适配多个屏幕,AutoLayout根本不需要更改。而绝对定位就需要根据屏幕大小,一个个算出来。比如横屏,在AutoLayout下面,就自动变成。
&img src=&/6aaf39b8ba1cc_b.jpg& data-rawwidth=&1248& data-rawheight=&752& class=&origin_image zh-lightbox-thumb& width=&1248& data-original=&/6aaf39b8ba1cc_r.jpg&&
这里不过是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机型。
&img src=&/5bfacfc4c5cf735_b.jpg& data-rawwidth=&958& data-rawheight=&530& class=&origin_image zh-lightbox-thumb& width=&958& data-original=&/5bfacfc4c5cf735_r.jpg&&屏幕尺寸再度分裂。但是我们比较iPhone
5 跟 iPhone 6的宽高比例。屏幕尺寸再度分裂。但是我们比较iPhone 5 跟 iPhone 6的宽高比例。&img
src=&/57c19d0affe58de13df33e0_b.jpg& data-rawwidth=&726& data-rawheight=&334& class=&origin_image zh-lightbox-thumb& width=&726& data-original=&/57c19d0affe58de13df33e0_r.jpg&&
可以看出,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来搭建启动界面,这样就可以同一个启动界面,适配多个机型,减少启动图片占用的空间。
以后的应用程序,都使用AutoLayout, 不要再用绝对定位。
使用类似网页的方式来设计界面。
设计师好,程序员也好,尽量使用点这个单位进行思考,而不要使用像素。比如,你需要做44 x 66个点的按钮,2x模式,就乘以2, 3x模式就乘以3。这样的思考方式可以大致估计到真实的物理长度。44个点,就是手机上导航栏,工具栏的高度。假如用像素思考,容易使得做出的图片过大或者过小。
非矢量素材,就可以做尺寸最大的,之后再进行缩小。比如你需要兼容3x的屏幕,就直接做最高那种图片。
而当使用Flash之类的矢量工具来做素材的时候,应该直接做点那个尺寸。比如44 x 66个点的按钮。就建立一个44 x 66的场景。之后再导出成2倍图,3倍图,因为矢量放大不失真。不要建立一个3x的场景,导出成大图片,再进行缩小,这样就容易失真。更理想的是直接使用矢量图。
假如是那种导航栏,工具栏之类的背景图,需要横跨整个屏幕。可以只切一小块,让程序拉伸,拉伸方式是保持两边的像素不动,只拉伸最中间的一列像素。需要拉伸的话,横方向就不要出现一些渐变色。
按钮的点击区域,不应该少于44个点,就算按钮的图片看起来比较小,也应该使得点按钮周围的透明区也有反应。
可以按照你当前最方便测试机子的型号来做一些主要预览图,效果图。比如你手头有iPhone 5,可以按照iPhone 5的尺寸,320 x 568个点,需要兼容iPhone 6 Plus,就使用3x的模式。这样方便将图片放进手机里面看实际的效果。有多个测试机,就选较大的,之后再进行一些细调。假如支持iPhone 6 Plus的横屏模式,需要另外处理。
上面说的是应用的处理方式,游戏会有些特殊。现在很多游戏,按照1136 x 768的像素尺寸来设计场景,这样可以同时兼容iPad和iPhone,并只使用一份图。iPad 1x模式下尺寸是1024 x 768像素,iPhone 5在2x模式下,是1136 * 640像素。这种尺寸,可以将场景居中显示,各自将场景拉伸到最大。
排名:千里之外
(91)(22)(25)(2)(16)(14)(6)(2)(4)(15)(3)(1)(2)(3)(1)