鍍金池/ 教程/ iOS/ 適應性和布局
錢包
iCloud
控件
適應性和布局
編輯菜單(Edit Menu)
從概念到產品
啟動與停止
3D 觸摸
VoiceOver
Live Photos
HomeKit
臨時視圖
游戲中心(Game Center)
快速查看(Quick Look)
交互性與反饋
與 iOS 的整合
鍵盤和輸入頁面(Keyboards and Input Views)
iAd 富媒體廣告(iAd Rich Media Ads)
術語和措辭
HealthKit
案例學習:從桌面到 iOS
導航
撤銷與重做(Undo and Redo)
研究型應用程序
社交媒體
蘋果的移動支付平臺
圖標和圖形
iOS 應用解析
為 iOS 而設計
路線選擇(Routing)
設計原則
應用內購買服務(In-App Purchase)
品牌推廣
動畫
聲音(Sound)
多任務處理
內容視圖
應用擴展
通知
訪問用戶數據(Accessing User Data)
無線打印 (AirPrint)
模態(tài)情境
顏色與字體

適應性和布局

為自適應而開發(fā)

人們通常希望在他們所有的設備和多種情境中使用自己喜歡的應用程序,比如在不同的設備方向上和 iPad 的分屏情況下。尺寸類別(Size classes)和自動布局(Auto Layout)可以通過定義屏幕的布局、視圖控制器和視圖在環(huán)境變化時候應該怎么適應來幫助你實現這個愿望。(顯示環(huán)境[display environment]的概念指的是設備的整個屏幕或者其中一部分,比如彈出框的區(qū)域或者 iPad 分屏視圖中其中一側的區(qū)域。)

iOS 在特征集合(trait collection)的定義中包含了顯示環(huán)境的概念,特征集合囊括了尺寸類別(size class),顯示比例(display scale)和用戶界面語言(user interface idiom)。你可以使用一個特征集合讓你的視圖和視圖控制器響應顯示環(huán)境的變化。

iOS 定義了兩個尺寸類別(size class),常規(guī)的(regular)和壓縮的(compact)。常規(guī)尺寸與拓展的空間緊密相關,壓縮尺寸與約束的空間相關。想要定義一種顯示環(huán)境,你需要定義一種橫屏尺寸類別,與一種豎屏尺寸類別。如你所想,一個 iOS 設備在豎屏模式可以使用一套類別,而橫屏模式下可以使用另一套類別。

iOS 能隨著尺寸類別和顯示環(huán)境變化而自動生成不同布局。舉個例子,當垂直尺寸從壓縮變?yōu)槌R?guī)時,導航欄和工具欄會自動變高。

當你靠尺寸類別來驅動布局變化時,你的應用在任何顯示環(huán)境時都能顯示得很好。關于如何在 Interface Builder 中更好的使用尺寸類別,你可以查閱 Size Classes Design Help.

注:在一種尺寸類別中,持續(xù)使用 Auto Layout 進行小的布局調整,比如拉伸或壓縮內容。更多 Auto Layout,參看 Auto Layout Guide.

下面的實例可以幫助你形象展現尺寸類型如何適配不同設備的顯示環(huán)境。例如:iPad(包括 iPad Pro)在長寬和橫屏豎屏時都使用常規(guī)尺寸類型。換句話說,iPad 顯示環(huán)境一直處于垂直和水平的常規(guī)狀態(tài)。

http://wiki.jikexueyuan.com/project/ios-9-human-computer-interface-guidelines/images/15.jpg" alt="" />

注:合格的 iPad 型號支持多任務,你的應用可能需要與其他應用共享同一個屏幕。確保使用 Auto Layout,這樣你可以在用戶使用多任務功能時響應他,比如 分屏模式(Split View)和多任務分屏模式(Slide Over)。

除了使用 Auto Layout,當你在 iPad Pro 上展示可讀性的內容時,依靠 UIView 的 readableContentGuide 屬性是非常重要的,這樣可以擁有讓讀者舒服的邊距。

iPhone 的顯示環(huán)境可根據不同的設備和不同的握持方向而改變。

豎屏時,iPhone6 Plus 使用的是壓縮寬度和常規(guī)高度類型。

http://wiki.jikexueyuan.com/project/ios-9-human-computer-interface-guidelines/images/16.jpg" alt="" />

橫屏時,iPhone6 Plus 使用的是常規(guī)寬度和壓縮高度類型。

http://wiki.jikexueyuan.com/project/ios-9-human-computer-interface-guidelines/images/17.jpg" alt="" />

其他 iPhone 型號,包括 iPhone6 使用相同的尺寸類型設置。

豎屏時,iPhone 6,iPhone 5 和iPhone 4S 使用的是壓縮寬度和常規(guī)高度。

http://wiki.jikexueyuan.com/project/ios-9-human-computer-interface-guidelines/images/18.jpg" alt="" />

橫屏時,這些設備在寬高上使用的都是壓縮類。

http://wiki.jikexueyuan.com/project/ios-9-human-computer-interface-guidelines/images/19.jpg" alt="" />

在不同環(huán)境提供良好體驗

當你使用自適應來開發(fā) UI 時,你可以保證UI跟隨顯示環(huán)境變化而適當地響應。遵照這些指南,你可以給用戶良好的設備響應體驗。

在所有環(huán)境下都保持對主體內容的專注。這是最高優(yōu)先級。人們使用應用時,瀏覽感興趣的內容并與之發(fā)生互動。隨著環(huán)境變化改變專注點會讓用戶感覺到迷失方向,讓他們感覺對應用失去控制。

避免布局上不必要的變化。在所有環(huán)境中保持一致的使用體驗,能讓人們在旋轉設備或在不同設備上運行你的應用時維持穩(wěn)定的使用模式。例如,如果你在水平的常規(guī)模式下使用了網格來顯示圖像,那么無需在壓縮模式下使用列表來展示同樣的內容,雖然你可能調整了網格的尺寸。

如果你的應用只在一個方向上運行,那么請直接一點。人們希望在各種握持方式下都可以使用你的應用,能滿足這個期待是最好的。但是,如果你的應用只在一個方向下運行,那么你應當注意:

  • 避免出現提示人們旋轉設備的相關 UI 元素。讓應用在支持的方向下清晰地運行,如果需要用戶旋轉設備,不要給UI添加不必要的混亂。
  • 支持同一個方向上的變化。例如,如果一個應用只能橫屏運行,用戶無論用左手或是右手握持時都能觸及到 home 鍵。如果用戶在使用應用時180度旋轉設備,那最好應用內容也能及時響應并旋轉180度。

如果你的應用將設備方向翻轉視為用戶輸入(的一種指令),那么就按照程序設定的方式來響應設備翻轉。舉個例子,一個游戲讓用戶利用設備翻轉來移動游戲中的部件,那么這個游戲應用本身(的 UI)不能對翻轉屏幕產生響應。在這種情況下,你必須關聯兩個需要變化的方向,并且允許人們在這兩個方向切換直到他們開始(了解并執(zhí)行)應用的主體任務。一旦人們開始執(zhí)行主要任務,那就開始按程序設定的那樣來響應設備的動作。

使用布局來溝通

布局包含的不僅僅是一個應用屏幕上的UI元素外觀。你的布局,應該告訴用戶什么是最重要的,他們的選擇是什么,以及事物是如何關聯起來的。

強調重要內容或功能,讓用戶容易集中注意在主要任務上。有幾個比較好的辦法是在屏幕上半部分放置主要內容——遵循從左到右的習慣——從靠近左側的屏幕開始:

http://wiki.jikexueyuan.com/project/ios-9-human-computer-interface-guidelines/images/20.jpg" alt="" />

使用不同的視覺化重量和平衡來告訴用戶當前屏顯元素的主次關系。大型控件吸引眼球,比小的控件更容易在出現時被注意到。而且大型控件也更容易被用戶點擊,這讓它們在應用中尤其有用——就像電話和時鐘(上面的按鈕)那樣——能讓用戶經常在容易分心的環(huán)境下仍然保持正常使用。

http://wiki.jikexueyuan.com/project/ios-9-human-computer-interface-guidelines/images/3.jpg" alt="" />

使用對齊來讓閱讀更舒緩,讓分組和層次之間更有秩序。對齊讓應用看起來整潔而有序,也讓用戶在滑動整屏內容時更容易定位和專注于重要信息。不同信息組的縮進與對齊讓它們之間的關聯更清晰,也讓用戶更容易找到某個控件。

確保用戶在內容處于默認尺寸時便可清楚明白它的主要內容與含義。例如,用戶應當無需水平滾動就能看到重要的文本,或不用放大就可以看到主體圖像。

準備好改變字體大小。用戶期望大多數應用都可以響應他們在 iOS 的設置中設定的字體大小。為了適應一些文本大小的變化,你也許需要調整布局;想要得到更多文本顯示相關的信息,請查閱下文“顏色與字體”中相關的內容。

盡量避免 UI 上不一致的表現。在一般情況下,有著相似功能的控件看起來也應該類似。用戶常常認為他們看到的不同總有原因,而且他們傾向于花時間去嘗試(譯者按:因此為了避免用戶做無用的嘗試,建議類似的功能外觀都保持一樣。)

給每個互動的元素充足的空間,從而讓用戶容易操作這些內容和控件。常用的點按類控件的大小是44 x 44點(points)。

http://wiki.jikexueyuan.com/project/ios-9-human-computer-interface-guidelines/images/21.jpg" alt="" />

上一篇:導航下一篇:模態(tài)情境