iphone各個(gè)型號屏幕分辨率總結(jié)

iphone屏幕分辨率和尺寸

iPhone:

iPhone 1G 320x480

iPhone 3G 320x480

iPhone 3GS 320x480

iPhone 4 640x960

iPhone 4S 640x960

iPhone 5 640x1136

iPhone 5S 640x1136

iPhone 5C 640x1136

iPhone 6?750x1334

iPhone 6 Plus?1080x1920?(開發(fā)應(yīng)按照1242x2208適配)

iPhone 6S?750x1334

iPhone 6S Plus?1080x1920?(開發(fā)應(yīng)按照1242x2208適配)

iPhone SE?640x1136

iPhone 7?750x1334

iPhone 7 Plus 1080x1920?(開發(fā)應(yīng)按照1242x2208適配)

iPod Touch:

iPod Touch 1G 320x480

iPod Touch 2G 320x480

iPod Touch 3G 320x480

iPod Touch 4G 640x960

iPod Touch 5G 640x1136

iPad:

iPad 1 1024x768

iPad 2 1024x768

The New iPad 2048x1536

iPad mini 1024x768

iPad 4 2048x1536

iPad Air 2048x1536

iPad mini 2? 2048x1536

iPad Air 2 2048x1536

iPad mini 3 2048x1536

iPad mini 4 2048x1536

iPad Pro 2732x2048


iPhone5在@2x屏幕尺寸是念颈,640x1136px;對應(yīng)的@1x,屏幕尺寸就是320x568px;

iPhone6在@2x屏幕尺寸是:750x1334px系奉;對應(yīng)的@1x,屏幕尺寸就是375x667px;

iPhone6Plus在@3x屏幕尺寸是:750x1334px茶鉴;對應(yīng)的@1x,屏幕尺寸就是414x736px


iPhone6Plus的@3x景用,iPhone6的@2x, iPhone5的@2x的介紹

iPhone6Plus是5.5英寸屏幕涵叮,1242x2208px-@3x的像素分辨率,邏輯分辨率是414x736pt-@1x伞插。物理尺寸是1080x1920px割粮。這個(gè)物理尺寸,也是安卓機(jī)目前最流行的大屏設(shè)計(jì)稿尺寸媚污。

iPhone6是4.7英寸屏幕舀瓢,750x1334px-@2x的像素分辨率,邏輯分辨率是375x667pt-@1x耗美。

iPhone5是4英寸屏幕京髓,640x1135px-@2x的像素分辨率,邏輯分辨率是320x568pt-@1x

【綜上所述】iPhone6的原型規(guī)范如下:

界面尺寸布局:滿屏尺寸750x1334px

高度電量條高度40px幽歼,導(dǎo)航欄高度88px朵锣,標(biāo)簽欄高度98px;

各區(qū)域圖標(biāo)大小導(dǎo)航欄圖標(biāo)44px甸私,標(biāo)簽欄圖標(biāo)50px诚些;

各區(qū)域文字大小電量條文字22px,導(dǎo)航欄-文字32px,標(biāo)簽欄字20px诬烹;

常用的文字大性曳场:32px,30px绞吁,28px幢痘,26px,24px家破,22px颜说,20px;

常用的顏色:背景淺灰色#f2f2f2,文字深黑色#323232汰聋,邊框色深灰#CCCCCC门粪;

常用可點(diǎn)擊區(qū)域的高度:88px;

單行文字的背景框的高度:88px烹困,雙行則為:176px玄妈,三行則為:264px;

常用間距:親密距離:20px髓梅;疏遠(yuǎn)距離:30px拟蜻,其它距離:10px,44px等枯饿;

按鈕和文本框酝锅,原型圖做成直角的,圓角半徑是多少鸭你,由Ui來設(shè)計(jì)屈张;

這種情況擒权,需要修改原型袱巨。單個(gè)頁面的邏輯流程圖或用戶學(xué)習(xí)使用時(shí)間,超過其它頁面平均數(shù)的3倍以上碳抄;


1.iPhone尺寸規(guī)格

?iPhone SE和 iPhone 5?的顯示屏尺寸一致愉老,4-inch display(對角線長)
iPhone 7和iPhone?6(s)?的顯示屏尺寸一致,4.7-inch display(對角線長)
? ? iPhone 7 Plus 和 iPhone?6(s)?Plus 的顯示屏尺寸一致剖效,5.5-inch display(對角線長)

2.單位inch(英吋)

? ? 1 inch = 2.54cm = 25.4mm

3.iPhone手機(jī)寬高

? ? 上表中的寬高(width/height)為手機(jī)的物理尺寸嫉入,包括顯示屏和邊框。

? ? 以下為iPhone4s的寬高示意圖:


4.屏幕尺寸

我們通常所說的iPhone5屏幕尺寸為4英寸璧尸、iPhone6屏幕尺寸為4.7英寸咒林,指的是顯示屏對角線的長度(diagonal)。

? ? 以下為iPhone5~6+的屏幕尺寸規(guī)格示意圖:

5.像素密度PPI

??? PPI(Pixel Per Inch by diagonal):表示沿著對角線爷光,每英寸所擁有的像素(Pixel)數(shù)目垫竞。

? ? PPI數(shù)值越高,代表顯示屏能夠以越高的密度顯示圖像,即通常所說的分辨率越高欢瞪、顆粒感越弱活烙。

?根據(jù)勾股定理,可以得知iPhone4(s)的PPI計(jì)算公式為:

?計(jì)算結(jié)果稍有出入遣鼓,這是因?yàn)橄袼氐碾x散采樣有鋸齒效應(yīng)啸盏。

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)的屏幕采用了Retina顯示技術(shù),橫次企、縱向方向像素密度都被放大到2倍粉怕,像素分辨率提高到(320x2)x(480x2)= 960x640(PPI=326),?顯像分辨率提升至iPhone3GS的4倍(1個(gè)Point被渲染成1個(gè)2x2的像素矩陣)抒巢。

? ? 但是對于開發(fā)者來說贫贝,iOS繪制圖形的API依然沿襲point(pt,注意區(qū)分印刷行業(yè)的“磅”)為單位蛉谜。在同樣的邏輯坐標(biāo)系下(320x480):

? ? 1 point = scale*pixel(在iPhone4~6中稚晚,縮放因子scale=2;在iPhone6+中型诚,縮放因子scale=3)客燕。

? ? 可以理解為:

? ? scale=絕對長度比(point/pixel)=單位長度內(nèi)的數(shù)量比(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 defaultlogical coordinate spaceinto thedevice coordinate spaceof this screen.

The default logical coordinate space is measured usingpoints. Forstandard-resolution?displays, the scale factor is 1.0 andone point equals one pixel. ForRetina?displays, the scale factor is 2.0 andone point is represented by four pixels.


??? 為了自動(dòng)適應(yīng)分辨率,系統(tǒng)會根據(jù)設(shè)備實(shí)際分辨率狰贯,自動(dòng)給UIScreen.scale賦值也搓,該屬性對開發(fā)者只讀。

? ? (3)UIScreen.nativeScale

?iOS8新增了nativeScale屬性:

? ??// Native scale factor of the physical screen

? ??@property(nonatomic,readonly)CGFloat?nativeScale?NS_AVAILABLE_IOS(8_0);

以下是iPhone6+下的輸出涵紊,初步看來nativeScale與scale沒有太大區(qū)別


?(lldb)p (CGFloat)[[UIScreen mainScreen] scale]

(CGFloat) $1 = 3

(lldb) p(CGFloat)[[UIScreen mainScreen] nativeScale]

(CGFloat) $2 = 3


(4)機(jī)型判別

? ??在同樣的邏輯分辨率下傍妒,可以通過scale參數(shù)識別是iPhone3GS還是iPhone4(s)。以下基于nativeScale參數(shù)摸柄,定義了探測機(jī)型是否為iPhone6+的宏:


? ??// not UIUserInterfaceIdiomPad

#defineIS_IPHONE(UI_USER_INTERFACE_IDIOM() ==UIUserInterfaceIdiomPhone)

? ??// detect iPhone6 Plus based on its native scale

#defineIS_IPHONE_6PLUS(IS_IPHONE && [[UIScreenmainScreen] nativeScale] == 3.0f)


那么颤练,同樣的分辨率和scale,如何區(qū)分機(jī)型iPhone4與4s驱负、iPhone5與5s呢嗦玖?通過[[UIDevice currentDevice] model]只能判別iPhone、iPad跃脊、iPod大類宇挫,要判斷iPhone具體機(jī)型型號,則需要通過sysctlbyname("hw.machine")獲取詳細(xì)的設(shè)備參數(shù)信息予以甄別酪术。


7.Resolutions&Rendering


8.@2x/@3x以及高倍圖適配

? ? (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?twophysical pixels on thedisplayin each dimension, horizontal and vertical.

? ? iPhone3GS時(shí)代器瘪,我們?yōu)橐粋€(gè)應(yīng)用提供圖標(biāo)(或按鈕提供貼圖),只需要icon.png。針對現(xiàn)在的iPhone4~6 Retina顯示屏娱局,需要制作額外的@2x高分辨率版本彰亥。

? ? 例如在iPhone3GS中,scale=1衰齐,用的圖標(biāo)是50x50pixel(logicalimage.size=50x50point)任斋;在iPhone4~6中,scale=2耻涛,則需要100×100pixel(logical image.size=50x50point废酷,乘以image.scale=dimensions in pixels),并且命名為icon@2x.png抹缕。

? ??如果APP要同時(shí)兼容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 pixels; an @3x point is a 3?×?3 square of 9 pixels.”

iPhone6+在實(shí)際渲染時(shí)卓研,downsampling/1.15(1242x2208->1080x1920)趴俘,準(zhǔn)確的講,應(yīng)該是@2.46x奏赘。蘋果為方便開發(fā)者用的是@3x的素材寥闪,然后再縮放到@2.46x上。

參考:《為什么iPhone 6 Plus要將3x渲染的2208x1242分辨率縮小到1080p屏幕上磨淌?》《詳解?iPhone 6 Plus?的奇葩分辨率》《iPhone 6 Plus屏幕分辨率

? ? 如果APP要同時(shí)兼容iPhone3GS~iPhone6+疲憋,則需要提供icon.png/icon@2x.png/icon@3x.png三種分辨率的圖片。

需要注意的是梁只,iOS APP圖標(biāo)的尺寸命名都需要遵守相關(guān)規(guī)范缚柳。

? ? (3)高倍圖文件命名

對于iPhone3、4/5/6搪锣、6+三類機(jī)型秋忙,需要按分辨率提供相應(yīng)的高倍圖并且文件名添加相應(yīng)后綴,否則會拉伸(stretchable/resizable)失真(模糊或邊角出現(xiàn)鋸齒)淤翔。

以下基于UIImage的兩類初始化API簡介高倍圖的適配:

<1>+imageNamed:該方法使用系統(tǒng)緩存翰绊,適合表視圖重復(fù)加載圖像的情形佩谷。同時(shí)該API根據(jù)UIScreen的scale旁壮,自動(dòng)查找包含對應(yīng)高倍圖后綴名(@2x)的文件,如果找到二倍圖谐檀,則image.scale=2.0抡谐,對應(yīng)邏輯size大小以point度量(pixel度量的一半);如果沒找到設(shè)置默認(rèn)image.scale=1.0桐猬,對應(yīng)邏輯size大小同像素尺寸麦撵。因此,使用該方法,無需特意指定高倍圖后綴免胃。在實(shí)際運(yùn)行時(shí)音五,系統(tǒng)如果發(fā)現(xiàn)當(dāng)前設(shè)備是Retina屏(scale=2),會自動(dòng)尋找"*@2x.png"命名格式的圖片羔沙,加載針對Retina屏的圖片素材躺涝,否則會失真。

<2>+imageWithContentsOfFile/+imageWithData:(scale:)/-initWithContentsOfFile:/-initWithData:(scale:)

這組方法創(chuàng)建的UIImage對象沒有使用系統(tǒng)緩存扼雏,并且指定文件名必須包含明確的高倍圖后綴坚嗜。如果文件名包含@2x后綴,則image.scale=2.0诗充;否則默認(rèn)image.scale=1.0苍蔬,同樣對于Retina屏將會失真。

<3>目前蝴蜓,適配iPhone6+時(shí)碟绑,除了一些鋪滿全屏的大圖(LogoIcon、LaunchImage)需提供三倍圖茎匠,其他的小圖仍可沿用原有的二倍圖自適應(yīng)拉伸蜈敢。

9.Screen Bounds?&Application Frame

(1)UIScreen.bounds

? ??// Bounds of entire screen in points(本地坐標(biāo)系,起點(diǎn)為[0,0])

? ??@property(nonatomic,readonly)CGRectbounds;


? ??//考慮轉(zhuǎn)屏的影響汽抚,按照實(shí)際屏幕方向(UIDeviceOrientation)的寬高

? ??#define?SCREEN_WIDTH?([UIScreenmainScreen].bounds.size.width)

? ??#define?SCREEN_HEIGHT?([UIScreenmainScreen].bounds.size.height)

? ??#define?STATUSBAR_HEIGHT?([UIApplicationsharedApplication].statusBarFrame.size.height)

? ??//不考慮轉(zhuǎn)屏的影響抓狭,只取豎屏(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 inpixels. (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)CGRectnativeBoundsNS_AVAILABLE_IOS(8_0);

? ??以下是iPhone6+下的輸出:


(lldb) poNSStringFromCGRect([(UIScreen*)[UIScreen mainScreen] bounds])

{{0, 0}, {414, 736}}

(lldb) poNSStringFromCGRect([(UIScreen*)[UIScreen mainScreen] nativeBounds])

{{0, 0}, {1242, 2208}}


? ? (3)UIScreen.applicationFrame

// Frame of application screen area in points (i.e.entire screenminusstatus bar if visible)

? ??// bounds除去系統(tǒng)狀態(tài)欄

? ??@property(nonatomic,readonly)CGRectapplicationFrame;


? ??// APPFRAME_WIDTH=SCREEN_WIDTH

? ??#defineAPPFRAME_WIDTH?([UIScreen mainScreen].applicationFrame.size.width)

? ??// APPFRAME_HEIGHT=SCREEN_HEIGHT-STATUSBAR_HEIGHT

? ??//注意:橫屏(UIDeviceOrientationLandscape)時(shí)造烁,iOS8默認(rèn)隱藏狀態(tài)欄否过,此時(shí)APPFRAME_HEIGHT=SCREEN_HEIGHT

? ??#define?APPFRAME_HEIGHT?([UIScreen mainScreen].applicationFrame.size.height)


? ? (4)bounds和frame的區(qū)別

下圖展示了bounds和frame的區(qū)別

10.機(jī)型尺寸適配(Screen Scale Adaption)

從iPhone3GS/iPhone4(s)過渡到iPhone5(s)時(shí),在邏輯上寬度不變高度稍高惭蟋,之前舊的素材和布局通過AutoresizingFlexible簡單適配即可運(yùn)行得很好苗桂,但由于高寬比增大,上下兩端出現(xiàn)黑粗邊(典型如LaunchImage)告组。從分辨率的角度來看煤伟,除了需要提供LaunchImage這種滿屏圖,其他基本沿用二倍圖(@2x)木缝;從屏幕尺寸角度來看便锨,需要對縱向排版略加調(diào)整。

? ? 從iPhone5(s)發(fā)展到iPhone6(+)我碟,由于高寬比保持不變放案,iOS對圖標(biāo)、圖片矫俺、字體進(jìn)行等比放大自適應(yīng)吱殉,清晰度會有所降低掸冤。同時(shí),絕對坐標(biāo)布局會導(dǎo)致在大屏下出現(xiàn)偏左偏上的問題友雳。從分辨率的角度來看稿湿,iPhone6沿用二倍圖(@2x),但需為iPhone6+提供更高的三倍圖(@3x)押赊;從屏幕尺寸角度來看缎罢,需要重新對UI元素尺寸和布局進(jìn)行適配,以期視覺協(xié)調(diào)考杉。

? ? (1)按寬度適配

? ? 我們先來看一下iPhone4~6(+)的屏幕高寬比:

? ? ? ?iPhone4(s):分辨率960*640策精,高寬比1.5

? ?? ? iPhone5(s):分辨率1136*640,高寬比1.775

? ?? ? iPhone6:分辨率1334*750崇棠,高寬比1.779

? ?? ? iPhone6+:分辨率1920*1080咽袜,高寬比1.778

可粗略認(rèn)為iPhone5(s)、6(+)的高寬比是一致的(16:9)枕稀,即可以等比例縮放询刹。因此可以按寬度適配:

fitScreenWidth= width*(SCREEN_WIDTH/320)

這樣,共有iPhone3/4/5萎坷、6凹联、6+三組寬度,在iPhone6哆档、6+下將按比例橫向放大蔽挠。

? ? (2)按高度適配

在同樣的寬度下,iPhone4(s)的屏高比iPhone5(s)低瓜浸,若縱向排版緊張澳淑,可以iPhone5(s)為基準(zhǔn),按高度適配:

fitScreenHeight= height*(SCREEN_HEIGHT/568)

共有iPhone3/4插佛、5杠巡、6、6+四組高度雇寇,在iPhone3/4下將按比例縱向縮小氢拥,在iPhone6、6+下將按比例縱向放大锨侯。

這里需要注意iPhone/iOS雙環(huán)上網(wǎng)的熱點(diǎn)欄對縱向布局的影響:iPhone作為個(gè)人熱點(diǎn)且有連接時(shí)嫩海,系統(tǒng)狀態(tài)欄下面會多一行熱點(diǎn)連接提示欄"Personal Hotspot: * Connection",縱向會下壓20pt识腿,[UIApplication sharedApplication].statusBarFrame高度變?yōu)?0pt出革;當(dāng)所有連接都斷開時(shí),熱點(diǎn)欄消失渡讼,縱向高度恢復(fù)正常為20pt骂束。詳情可參考《iPhone/iOS開啟個(gè)人熱點(diǎn)的縱向適配小結(jié)》。

? ? (3)按字體適配

另外成箫,iPhone的【設(shè)置】【通用】【輔助功能】中可以設(shè)置調(diào)節(jié)【更大字體】展箱,APP也可以按字號適配:

例如適配表視圖(UITableView:UIScrollView),無法左右滑動(dòng)蹬昌,因此無論字號縮放比例多大混驰,橫向都不應(yīng)超過SCREEN_WIDTH。注意限定控件元素內(nèi)容區(qū)域?qū)挾纫约伴g距皂贩,并設(shè)置適當(dāng)?shù)腖ineBreakMode栖榨。表視圖支持上下滑動(dòng),因此縱向上的表格行高和內(nèi)容區(qū)域高度可按字號縮放明刷。

? ? 對于縱向也不支持滑動(dòng)的視圖,在屏幕可見視區(qū)內(nèi)排版時(shí),最好不要隨字號縮放沟使,否則可能超出既定寬高孝偎。

11.UI相對布局

考慮到iPhone機(jī)型的多樣性,不可能針對iPhone4(s)挤聘、5(s)轰枝、6、6+四種屏幕尺寸出四套視覺交互稿组去,也不要基于某一機(jī)型從上往下鞍陨、從左往右給絕對標(biāo)注,而應(yīng)該關(guān)注subView在superView中的相對位置(EdgeInsets/Frame/Center)以及siblingView之間的偏移(Offset)从隆,盡量給出適合Autolayout的相對布局比例(理想情況是只給百分比)湾戳。假如交互按照iPhone5(s)下絕對標(biāo)注,則在iPhone4(s)上可能擠出屏幕底部广料,而在iPhone6(+)上則可能橫向偏左或縱向偏上砾脑。

開發(fā)人員基于與屏幕邊緣的間距(Margin/EdgeInsets),定位邊緣處的控件(釘釘子)作為參照艾杏,然后基于控件尺寸和間隙進(jìn)行相對計(jì)算排版韧衣。這樣,若釘子移動(dòng)购桑,相鄰控件將順向偏移畅铭,不會因?yàn)榫植空{(diào)整而出現(xiàn)凌亂。

我們截取 iPhone5s QQ 文件助手列表中的文件cell勃蜘,使用SketchMeasure對其進(jìn)行測量標(biāo)注硕噩。

打開[截圖.png]文件,由于不包含 Sketch 圖元對象缭贡,無法進(jìn)行 measure 標(biāo)注(提示:請?jiān)诋嫲逯惺褂迷摴δ埽┞谩R虼嘶岳粒谝徊叫枰獙σ鄬?biāo)注的各個(gè)UI元素進(jìn)行對象化。依次?Insert Artboard 創(chuàng)建圖層?frame谍失、thumbnail眶俩、title、detail快鱼、source颠印、button。

選中整個(gè)cell的frame(bounds)抹竹,進(jìn)行 Measure size:width=640px(SCREEN_WIDTH)线罕,height=168px。默認(rèn)橫向尺寸和縱向參考線都居中導(dǎo)致標(biāo)注重疊窃判,將縱向參考線右移至合適位置钞楼;也可選中WIDTH標(biāo)注圖層中的text和label元素,在不移動(dòng)參考線的前提下兢孝,利用鼠標(biāo)局部移動(dòng)標(biāo)注字面量窿凤。

(1)縮略圖標(biāo)

在左側(cè)邊欄layer list中選中frame,再command選中文件類型縮略圖對象thumbnail跨蟹,進(jìn)行 Measure spacing雳殊,丈量縮略圖左側(cè)相對frame的間距為24px。

選中文件類型縮略圖對象thumbnail窗轩,進(jìn)行 measure size夯秃,由于正方形等寬為112px*112px,故橫縱標(biāo)注重疊無影響痢艺。thumbnail在frame中縱向整體居中仓洼,因此上下邊距計(jì)算均攤即可,無需再給定標(biāo)注堤舒。

(2)傳輸按鈕

對 button 和 frame 進(jìn)行 Measure spacing色建,丈量按鈕右側(cè)相對frame的間距為24px。

選中按鈕button進(jìn)行 measure size舌缤,其寬高為144px*60px箕戳。橫縱標(biāo)注重疊影響視覺,將縱向參考線右移至合適位置国撵。

button在frame中縱向整體居中陵吸,因此上下邊距計(jì)算均攤即可,無需再給定標(biāo)注介牙。

(3)文件信息

對thumbnail和detail(title壮虫、source等寬且左對齊)進(jìn)行 Measure spacing,丈量圖標(biāo)右側(cè)相對detail的間距為20px环础;對button和detail進(jìn)行 Measure spacing囚似,丈量按鈕左側(cè)相對detail間距為20px剩拢。這樣,左側(cè)釘住thumbnail谆构,右側(cè)釘住button裸扶,中間信息部分的寬度無需給定框都,計(jì)算被動(dòng)約束的橫向余量即可搬素。具體編程時(shí),調(diào)用?sizeWithFont/boundingRectWithSize 可動(dòng)態(tài)計(jì)算每行 label 的自然寬度魏保,一般title都會超過約束寬度熬尺,因此需設(shè)置 lineBreakMode指定Wrapping省略或Truncating截?cái)喔袷健?/p>

選中文件信息第1行標(biāo)題title和第2行詳情detail,進(jìn)行 Measure spacing谓罗,測量縱向相對間距10px粱哼;第2行詳情detail和第3行來源的縱向相對間距也為10px。一般 UILabel 的文本在給定字體下的縱向自然顯示無約束檩咱,調(diào)用?sizeWithFont/boundingRectWithSize 可動(dòng)態(tài)計(jì)算每行 label 的自然高度揭措,title的上間距和source的底間距無需給定,通過計(jì)算縱向余量均攤即可刻蚯。

可簡單的基于屏寬橫縱比例進(jìn)行scale縮放绊含,將以上測量出的標(biāo)注應(yīng)用到iPhone6(+)大屏下,當(dāng)然交互設(shè)計(jì)工程師最好還是針對特定機(jī)型都給定適配標(biāo)注炊汹。蘋果在WWDC2012 iOS6中已提出了Auto Layout的概念躬充,即使用約束條件來定義視圖的位置和尺寸,以適應(yīng)不同尺寸和分辨率的屏幕讨便。

12.DEPRECATED API適配

? ? 最后充甚,除了對屏幕尺寸和分辨率進(jìn)行適配之外,還需對iOS SDK中相關(guān)的DEPRECATED API進(jìn)行適配霸褒。典型的如:

(1)UILineBreakMode->NSLineBreakMode

(2)UITextAlignment->NSTextAlignment

(3)sizeWithFont:->boundingRectWithSize:

(4)stretchableImageWithLeftCapWidth:topCapHeight:->resizableImageWithCapInsets:

(5)...

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末伴找,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子废菱,更是在濱河造成了極大的恐慌技矮,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件昙啄,死亡現(xiàn)場離奇詭異穆役,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)梳凛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進(jìn)店門耿币,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人韧拒,你說我怎么就攤上這事淹接∈裕” “怎么了?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵塑悼,是天一觀的道長劲适。 經(jīng)常有香客問我,道長厢蒜,這世上最難降的妖魔是什么霞势? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮斑鸦,結(jié)果婚禮上愕贡,老公的妹妹穿的比我還像新娘。我一直安慰自己巷屿,他們只是感情好固以,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著嘱巾,像睡著了一般憨琳。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上旬昭,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天篙螟,我揣著相機(jī)與錄音,去河邊找鬼稳懒。 笑死闲擦,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的场梆。 我是一名探鬼主播墅冷,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼或油!你這毒婦竟也來了寞忿?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤顶岸,失蹤者是張志新(化名)和其女友劉穎腔彰,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體辖佣,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡霹抛,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了卷谈。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片杯拐。...
    茶點(diǎn)故事閱讀 40,090評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出端逼,到底是詐尸還是另有隱情朗兵,我是刑警寧澤,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布顶滩,位于F島的核電站余掖,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏礁鲁。R本人自食惡果不足惜盐欺,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望救氯。 院中可真熱鬧找田,春花似錦歌憨、人聲如沸着憨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽甲抖。三九已至,卻和暖如春心铃,著一層夾襖步出監(jiān)牢的瞬間准谚,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工去扣, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留柱衔,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓愉棱,卻偏偏與公主長得像唆铐,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子奔滑,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評論 2 355