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

與 iOS 的整合

與 iOS 整合,指的是在當(dāng)前平臺(tái)上給用戶提供一種舒適的、賓至如歸般的體驗(yàn),當(dāng)然這并不意味著我們要把每一個(gè)應(yīng)用做的和內(nèi)置應(yīng)用一模一樣。

最好的與 iOS 整合的方式便是深刻地了解 iOS 的主題與核心——這一部分在上文為 iOS 而設(shè)計(jì)(Designing for iOS)部分中已有詳細(xì)描述,并尋求出如何在你的應(yīng)用中融合與表達(dá)這種主題。當(dāng)你這么做的時(shí)候,遵循本章中的指引可以幫助你為你的用戶提供他們想要的體驗(yàn)。

正確使用標(biāo)準(zhǔn)UI元素

盡可能使用 UIkit 提供的標(biāo)準(zhǔn) UI 元素是一個(gè)好主意。多使用標(biāo)準(zhǔn)元素而非自定義元素,你與你的用戶都將受益:

  • 標(biāo)準(zhǔn) UI 元素會(huì)根據(jù) iOS 官方的更新而自動(dòng)更新——而自定義元素不會(huì)。

  • 標(biāo)準(zhǔn) UI 元素對(duì)于你自定義外觀和行為來(lái)說(shuō)擁有優(yōu)秀的擴(kuò)展性。舉個(gè)例子,iOS 中所有的視圖(Views,從 UIView 中繼承的對(duì)象)都是可以使用 TintColor 屬性來(lái)定義顏色的,它讓應(yīng)用配色變得很簡(jiǎn)單。

  • 用戶更熟悉和習(xí)慣標(biāo)準(zhǔn)的元素,因?yàn)樗麄兛梢粤⒖堂靼啄愕膽?yīng)用中這些元素的用途。 想要充分地利用標(biāo)準(zhǔn) UI 元素的優(yōu)點(diǎn),有一些關(guān)鍵點(diǎn)需要特別注意:

嚴(yán)格遵循每個(gè) UI 元素的設(shè)計(jì)規(guī)范。當(dāng)你應(yīng)用中的 UI 元素的外觀與功能都是用戶所熟悉的,他們可以很容易地根據(jù)先前的經(jīng)驗(yàn)來(lái)使用他們,進(jìn)而更好地使用你的應(yīng)用。你可以從這些章節(jié)中找到各種 UI 元素的設(shè)計(jì)規(guī)范:Bars, Content Views, Controls, Temporary Views.

(譯者注:上文提到的章節(jié)均處在 iOS Human Interface Guidelines 的第4章,翻譯將在后續(xù)更新中放出,煩請(qǐng)各位耐心等候。若有需要,亦可先參考先前已翻譯的 iOS7 UI Elements 章節(jié):上,下。)

不要混用不同版本的 iOS 里的 UI 元素。你一定不希望讓用戶覺(jué)得你的 UI 元素來(lái)自于與當(dāng)前用戶的設(shè)備版本不同的 iOS 系統(tǒng)。

大體來(lái)說(shuō),請(qǐng)避免創(chuàng)造自定義 UI 元素來(lái)表現(xiàn)標(biāo)準(zhǔn)交互行為。先問(wèn)問(wèn)你自己為什么一定要?jiǎng)?chuàng)建一個(gè)與標(biāo)準(zhǔn) UI 元素行為完全相同的自定義元素。如果你只是想改變標(biāo)準(zhǔn) UI 元素的外觀,可以考慮使用 UIKit 外觀定制 API(UIKit appearance customization APIs),或者給元素填充別的顏色。如果你需要定義一個(gè)與標(biāo)準(zhǔn)控件稍有不同的行為,請(qǐng)確保你在改變了這個(gè) UI 元素的屬性和行為之后,這個(gè)元素仍然能完成你所希望的操作。如果你需要完全自定義一個(gè)行為,最好是設(shè)計(jì)一個(gè)與標(biāo)準(zhǔn)元素完全不相像的自定義元素。

提示:Interface Builder 讓獲取標(biāo)準(zhǔn) UI 元素,使用外觀定制 API(the appearance customization APIs),獲取屬性,以及在你的應(yīng)用里使用自定義和系統(tǒng)自帶圖標(biāo)變得很簡(jiǎn)單。想要了解更多 Interface Builder 的內(nèi)容,請(qǐng)參閱 Xcode Overview.

不要用系統(tǒng)自帶的按鈕和圖標(biāo)表達(dá)其他含義。iOS 提供了多種可用的按鈕和圖標(biāo)。請(qǐng)確認(rèn)你了解它們的準(zhǔn)確表意;不要單純憑借你看到這些圖標(biāo)樣式的猜測(cè)和理解來(lái)解讀和使用它們。(你可以在 Toolbar and Navigation Bar ButtonsTab Bar Icons 中了解到這些按鈕和圖標(biāo)的準(zhǔn)確含義。)

如果你所需要的功能無(wú)法用系統(tǒng)提供的按鈕和圖標(biāo)來(lái)表現(xiàn),你也可以設(shè)計(jì)自定義按鈕。自定義按鈕的設(shè)計(jì)可以參考 Bar Button Icons.

(譯者注:上文提到的章節(jié)均處在 iOS Human Interface Guidelines 的第4章,翻譯將在后續(xù)更新中放出,煩請(qǐng)各位耐心等候。若有需要,亦可先參考先前已翻譯的 iOS7 UI Elements 章節(jié):上,下。)

如果你的 app 是沉浸式體驗(yàn),那么創(chuàng)造全新的自定義 UI 是合理的。因?yàn)槟阍趧?chuàng)造一個(gè)統(tǒng)一的體驗(yàn)環(huán)境,讓用戶在其中能夠有所期待并探索如何控制應(yīng)用。

弱化文件和文檔處理

iOS 應(yīng)用可以幫助用戶創(chuàng)建和處理文件,但這并不意味著用戶需要過(guò)分考慮 iOS 設(shè)備的文件系統(tǒng)如何運(yùn)作。

如果你的應(yīng)用中支持用戶創(chuàng)建和編輯文檔,那么提供一個(gè)清晰的圖形庫(kù)視圖(document library view)讓用戶能夠方便地打開(kāi)或者新建文檔是一個(gè)好的做法。理想狀況下,這樣的圖形庫(kù)視圖擁有以下特征:

  • 高度圖形化。用戶通過(guò)屏幕上的縮略圖就可以一目了然,快速找出自己想要的文件。

  • 讓用戶用最少的動(dòng)作完成自己的任務(wù)。比如說(shuō),用戶可以快速地水平滾動(dòng)文件列表,然后輕點(diǎn)一下自己想要的文件來(lái)打開(kāi)它。

  • 包含新建文檔功能。一個(gè)圖形庫(kù)視圖應(yīng)該支持讓用戶點(diǎn)擊一個(gè)新建文檔的占位圖便完成新建文檔操作,而不是讓用戶通過(guò)訪問(wèn)別的地方來(lái)新建文檔。 舉個(gè)例子,Pages 的圖形庫(kù)視圖里面,既展示了用戶已存在的文檔,也加入了便捷的新建文檔操作。

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

提示:你可以使用 Quick Look Preview 功能來(lái)讓用戶預(yù)覽你的應(yīng)用中的文件,哪怕你的應(yīng)用不能打開(kāi)這些文件。想要了解如何在你的應(yīng)用中提供這個(gè)功能,請(qǐng)參閱 Quick Look.

如果你的應(yīng)用允許用戶使用在其他應(yīng)用中創(chuàng)建的文檔,你可以通過(guò)模態(tài)文檔選擇視圖控制器(modal document picker view controller)來(lái)幫助用戶觸達(dá)它們。這個(gè)控制器可以提取用戶在 iCloud 中的文檔,還可以通過(guò)文檔提供者擴(kuò)展(Document Provider extensions)來(lái)提取在其它應(yīng)用中創(chuàng)建和儲(chǔ)存的文件。想要了解更多文檔提供者擴(kuò)展的內(nèi)容,可以參考 Document Provider Extensions; 想要了解更多文檔提取視圖控制器,請(qǐng)參考 Document Picker Programming Guide.

給用戶足夠的信心,讓他們相信除非主動(dòng)取消或者刪除,他們的成果會(huì)被隨時(shí)妥善保存。如果你的應(yīng)用幫助用戶創(chuàng)建于管理文檔,不能要求用戶每次都能及時(shí)保存。無(wú)論是打開(kāi)另一個(gè)文檔或切換應(yīng)用的時(shí)候,iOS 應(yīng)用都應(yīng)當(dāng)承擔(dān)起幫助用戶保存輸入內(nèi)容的責(zé)任。

如果你的應(yīng)用的主要功能不是創(chuàng)造內(nèi)容,但又允許用戶查看或編輯信息,這種情況下你需要詢問(wèn)用戶是否要保存修改。在這種場(chǎng)景下,比較好的做法是提供“編輯”按鈕,點(diǎn)擊后進(jìn)入編輯狀態(tài),同時(shí)編輯按鈕變成“保存”和“取消”按鈕,這種變化可以提示用戶當(dāng)前處于編輯模式?!氨4妗笨梢员A粜薷膬?nèi)容,“取消”則退出編輯模式。

必要時(shí)提供可配置選項(xiàng)

某些應(yīng)用需要用戶手動(dòng)安裝或設(shè)置選項(xiàng),但是大部分應(yīng)用不需要如此。一個(gè)好的應(yīng)用可以讓大部分用戶快速上手,并通過(guò)主界面給用戶提供便捷的調(diào)整體驗(yàn)的方式。

當(dāng)你的應(yīng)用在默認(rèn)狀態(tài)下就能滿足大部分用戶的期望,用戶對(duì)設(shè)置的需求就減少了。如果你需要儲(chǔ)存用戶的基本資料,可以優(yōu)先向系統(tǒng)請(qǐng)求和拉取相關(guān)信息,而不是上來(lái)就讓用戶自己填寫它。如果你一定要提供用戶鮮少用到的設(shè)置項(xiàng),請(qǐng)參考 App Programming Guide for iOS 中的 The Setting Bundle 部分來(lái)了解如何在代碼中定義它們。

盡可能在主 UI 中提供設(shè)置選項(xiàng)。如果這個(gè)設(shè)置項(xiàng)代表著用戶一個(gè)基本任務(wù),又或者用戶在進(jìn)行主線任務(wù)時(shí)有可能頻繁改變?cè)O(shè)置,那么將設(shè)置項(xiàng)放在主 UI 中會(huì)很方便。如果用戶只是偶爾才會(huì)用到設(shè)置項(xiàng),那么可以將其放在獨(dú)立的視圖中。

如果應(yīng)用內(nèi)相關(guān)設(shè)置需要在系統(tǒng)設(shè)置中改變,幫助用戶直接訪問(wèn)系統(tǒng)設(shè)置。尤其是,如果你要用一段文字來(lái)描述如何改變這個(gè)設(shè)置,比如“設(shè)置>隱私>定位服務(wù)”,倒不如直接放置一個(gè)按鈕,點(diǎn)擊后即可到達(dá)設(shè)置中的定位服務(wù)。想要了解如何實(shí)現(xiàn),請(qǐng)參考 Settings Launch URL.

充分利用 iOS 技術(shù)

iOS 提供了豐富的技術(shù)方式來(lái)支持用戶完成他們所期望的各種任務(wù)和場(chǎng)景。這意味著在絕大多數(shù)情況下,將系統(tǒng)提供的技術(shù)整合到你的應(yīng)用中,往往比自定義一種新的技術(shù)更為可靠。

某些 iOS 技術(shù),比如多任務(wù)并行(Multitasking)與語(yǔ)音向?qū)?VoiceOver)等等,是所有應(yīng)用都應(yīng)該包含的系統(tǒng)級(jí)特性。而另外一些技術(shù)是否整合到應(yīng)用中,則取決于應(yīng)用本身的功能性。比如處理門票和禮品卡的應(yīng)用(Wallet)支持用戶在應(yīng)用內(nèi)內(nèi)購(gòu)(In-App Purchase),展示應(yīng)用內(nèi)置廣告(iAd Rich Media Ads)則可以整合 Game Center,同時(shí)支持 iCloud.