適配和布局
·適配創(chuàng)建
通常來說,人們想要在他們所有的設(shè)備上使用他們最喜愛的app,不論是在設(shè)備什么樣的定向上。在iOS8和稍后的版本中,你可以使用尺寸類和自動(dòng)布局在設(shè)備放置環(huán)境改變時(shí)候通過定義屏幕布局,視圖控制器和視圖應(yīng)當(dāng)如何調(diào)整來幫助你滿足這個(gè)期望。放置環(huán)境的概念可能會(huì)涉及到整個(gè)屏幕或者僅僅是屏幕的一部分,比如一個(gè)彈出菜單的區(qū)域或者是在一個(gè)分離的視圖控制器中的主要視圖。
iOS定義了兩種尺寸類別:常規(guī)和緊湊。常規(guī)尺寸類和寬松的空間聯(lián)系到一起,緊湊尺寸類和有限的空間聯(lián)系到一起。為了描述一種放置環(huán)境,你需要指定一個(gè)水平尺寸類和一個(gè)垂直(豎直)尺寸類。正如你猜的那樣,一個(gè)iOS設(shè)備對(duì)于豎直定向能夠使用一個(gè)系列的尺寸類,對(duì)于水平定向使用一個(gè)不同系列的尺寸類。
當(dāng)一個(gè)放置環(huán)境的尺寸類改變的時(shí)候,iOS可以自動(dòng)的產(chǎn)生各種各樣的布局改變。舉例來說,當(dāng)垂直尺寸類從緊湊變?yōu)槌R?guī)的時(shí)候,導(dǎo)航欄和工具欄會(huì)自動(dòng)變高。
當(dāng)你依靠尺寸類來駕馭布局中的改變的時(shí)候,你的app在任何放置環(huán)境下都可以看起來很棒。要想學(xué)習(xí)在Interface Builder中如何使用尺寸類,請(qǐng)參閱尺寸類設(shè)計(jì)指導(dǎo)。注意:在一個(gè)尺寸類中,務(wù)必使用自動(dòng)布局來對(duì)布局產(chǎn)生小的調(diào)整,例如拉伸內(nèi)容或者壓縮內(nèi)容。
下述的具體例子能夠幫助你看到尺寸類是如何描述不同設(shè)備的放置環(huán)境的。舉例來說,ipad在長度和寬度以及兩種定向上使用了常規(guī)尺寸類。換句話說,iPad的放置環(huán)境總是水平常規(guī)和豎直常規(guī)的。
iPhone的放置環(huán)境可能會(huì)改變,這取決于設(shè)備類型和它是何種定向。
在豎直放置環(huán)境下,iPone6 Plus使用緊湊的水平尺寸類和緊湊的垂直尺寸類。在水平放置環(huán)境下,iPhone6 Plus使用常規(guī)的水平尺寸類和緊湊的豎直尺寸類。
所有的其它iPhone模型,包括iPhone6,都是用同樣系列的尺寸類。
在豎直放置環(huán)境下,iPhone6,iPhone5和iPhone4s都使用緊湊的水平尺寸類和常規(guī)的垂直尺寸類。在水平放置環(huán)境下,這些設(shè)備水平和垂直都使用緊湊的尺寸類。
·在每種環(huán)境下都提供一種絕佳的體驗(yàn)
當(dāng)你利用適配性(自適應(yīng)性)的時(shí)候,你可以確保你的UI對(duì)放置環(huán)境的改變做出合適的應(yīng)對(duì)。遵循這些指導(dǎo)原則在所有的設(shè)備和定向上給用戶帶來一種絕佳的體驗(yàn)。
·在所有環(huán)境中保持你的注意力在主要內(nèi)容上。這是你最優(yōu)先要做的事。人們使用你的app來瀏覽他們關(guān)注的內(nèi)容并和它們進(jìn)行交互。當(dāng)放置環(huán)境改變時(shí)候改變你的焦點(diǎn)會(huì)使用戶產(chǎn)生迷惑,并讓他們感到他們已經(jīng)失去了對(duì)app的控制。
·避免布局上不必要的改變。當(dāng)人們旋轉(zhuǎn)設(shè)備或者在一個(gè)不同的設(shè)備上運(yùn)行你的app的時(shí)候,在所有環(huán)境下相似的體驗(yàn)經(jīng)歷可以讓人們保持他們的使用模式(行為習(xí)慣?)。舉例來說,如果你使用一個(gè)水平常規(guī)環(huán)境下地網(wǎng)格來陳列圖片,即使你可能得調(diào)節(jié)網(wǎng)格的維度,但是你沒有必要用水平的緊湊環(huán)境下的列表來陳列相同的信息。
·直接告訴用戶如果你的app只能在一中定向下運(yùn)行。人們希望在不同的定向情況中使用你的app,當(dāng)你能滿足這個(gè)愿望的時(shí)候,這最好不過。但是如果你的app只能在一中定向下運(yùn)行很重要的話,你應(yīng)該:
·避免擺放告訴人們旋轉(zhuǎn)設(shè)備的UI元素。運(yùn)行在支持的定向上清楚地告訴用戶去旋轉(zhuǎn)設(shè)備,如果有必要,不要再UI上添加不必要的裝飾。
·支持定向的變體。舉例來說,如果一個(gè)app只能在水平定向下運(yùn)行,不論Home鍵是在左邊還是右邊握持設(shè)備,人們都應(yīng)該能夠使用它。并且如果人們在使用app的時(shí)候把設(shè)備旋轉(zhuǎn)了180度,如果app的內(nèi)容能夠也旋轉(zhuǎn)180度來做回應(yīng),那是最好不過的。
·如果你的app在用戶輸入(輸入有很多形式)的時(shí)候解釋了在設(shè)備定向中的改變,那就以app特定的方式處理設(shè)備旋轉(zhuǎn)。舉例來說,一個(gè)讓人們通過旋轉(zhuǎn)設(shè)備來移動(dòng)游戲里內(nèi)容的游戲,不能以旋轉(zhuǎn)屏幕的方式來回應(yīng)設(shè)備的旋轉(zhuǎn)。在像這樣的情況下,你應(yīng)該以要求的定向所有的變體加載,并且在app的主任務(wù)開始之前允許人們在不同的變體之間切換。一旦人們開始主任務(wù)就開始以app特定的方式來回應(yīng)設(shè)備的移動(dòng)。
·使用布局來傳達(dá)
布局不僅僅是包含了在一個(gè)app屏幕中UI元素如何顯示。在你的布局中,你向用戶展示什么是最重要的,他們的選擇是什么以及事物之間是如何相關(guān)的。
·通過提升重要內(nèi)容或者功能性使聚焦于主任務(wù)變得容易。實(shí)現(xiàn)這個(gè)原則的好方法是把重要的事物放在上半屏幕---并且按照從左到右的慣例---靠近屏幕左邊。
·使用可視化的影響和平衡來向用戶展示屏幕上元素的相對(duì)重要性。大事物吸引眼球并且傾向于看起來比小物體更重要。大事物也很方便用戶取觸碰,這使得它們在一些app中尤其有用---例如Phone和Clock---用戶經(jīng)常在容易分心的環(huán)境中使用這些app。
·使用對(duì)齊來簡化瀏覽并且傳達(dá)分組和體系。對(duì)齊傾向于使一個(gè)app看起來整潔和有組織。當(dāng)用戶滾動(dòng)一屏幕的信息的時(shí)候,對(duì)齊還能夠給予用戶空間來聚焦于內(nèi)容。不同信息分組的縮進(jìn)和對(duì)齊傳達(dá)出分組是如何關(guān)聯(lián)的,并且用戶找到特定事物會(huì)更容易。
·確保主要內(nèi)容在默認(rèn)尺寸用戶就能理解。例如,用戶不應(yīng)該不得不水平滾動(dòng)來閱讀重要文本,或者放大來看重要的圖片。
·準(zhǔn)備好字號(hào)的改變。用戶希望大多數(shù)app當(dāng)他們在設(shè)置中選擇一個(gè)不同的字號(hào)的時(shí)候能夠合適地做出回應(yīng)。為了適應(yīng)一些字號(hào)改變,你可能需要改變布局。想獲得更多關(guān)于你的app顯示字體的信息,請(qǐng)參閱“文本應(yīng)當(dāng)總是清晰地”。
·盡可能地避免在你UI中出現(xiàn)不一致的外觀。通常來說,有相同功能的元素應(yīng)該看起來相似。人們經(jīng)常認(rèn)為他們注意到的不一致一定存在一個(gè)原因。他們傾向花費(fèi)時(shí)間來找出這個(gè)原因。
·通過給予每個(gè)交互元素足夠的空間使人們很容易與內(nèi)容和控件交互。給予可觸碰控件一個(gè)44x44的點(diǎn)擊目標(biāo)。
(累死了,這個(gè)章節(jié)真長-_-!)
新聞熱點(diǎn)
疑難解答
圖片精選