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