鍍金池/ 教程/ iOS/ 與 iOS 一體化
內(nèi)容視圖
控件
iCloud
導(dǎo)航
網(wǎng)頁(yè)剪藏圖標(biāo)
動(dòng)畫(huà)
鍵盤(pán)和輸入頁(yè)面
設(shè)計(jì)策略
臨時(shí)視圖
撤銷(xiāo)與重做
交互與反饋
與 iOS 一體化
從概念到產(chǎn)品
品牌推廣
電子錢(qián)包
社交媒體
游戲中心
創(chuàng)建尺寸可調(diào)的圖片
案例學(xué)習(xí):從桌面到 iOS
多任務(wù)處理
蘋(píng)果支付
色彩和排版
報(bào)刊雜志圖標(biāo)
iOS 應(yīng)用解析
啟動(dòng)和終止
聲音
快速查看
適應(yīng)性和布局
編輯菜單
健康組件
語(yǔ)音輔助
iAd 富媒體廣告
為 iOS 而設(shè)計(jì)
標(biāo)志與圖形
應(yīng)用圖標(biāo)
模態(tài)情景
圖標(biāo)與圖片尺寸
路線選擇
在應(yīng)用中購(gòu)買(mǎi)
應(yīng)用拓展
啟動(dòng)畫(huà)面
術(shù)語(yǔ)和措辭
通知
欄按鈕圖標(biāo)
訪問(wèn)用戶(hù)數(shù)據(jù)
云打印

與 iOS 一體化

與 iOS 一體化意味著,要帶給用戶(hù)一種愉悅的,引人入勝的,與平臺(tái)連貫的用戶(hù)體驗(yàn)。但這并不是要?jiǎng)?chuàng)建一個(gè)看起來(lái)像內(nèi)置軟件復(fù)制的應(yīng)用。

讓你獨(dú)特的應(yīng)用與平臺(tái)一體化的最好方式,是去了解那些引導(dǎo)著 iOS 的關(guān)鍵詞——它們?cè)?為 iOS 而設(shè)計(jì) 中提到過(guò),并不斷發(fā)掘你應(yīng)用表達(dá)他們的最好方式。當(dāng)你這樣做時(shí),這一部分中指南將會(huì)幫助你帶來(lái)符合用戶(hù)期待的用戶(hù)體驗(yàn)。

正確使用標(biāo)準(zhǔn)的 UI 部件

盡可能用 UIKit 提供的標(biāo)準(zhǔn) UI 部件。當(dāng)你使用標(biāo)準(zhǔn)而非自定義的部件時(shí),你和你的用戶(hù)都將受益:

  • 當(dāng) iOS 引入了新設(shè)計(jì)的外觀時(shí),標(biāo)準(zhǔn) UI 部件將會(huì)自動(dòng)收到更新——而自定義部件就不會(huì)這樣。
  • 標(biāo)準(zhǔn) UI 部件傾向于提供不同的方式來(lái)自定義他們的外觀或行為。例如,所有視圖(即那些繼承了 UIView 的對(duì)象)可以使用 tintColor 來(lái)上色,這將會(huì)使得為應(yīng)用添加顏色變得容易。
  • 使用標(biāo)準(zhǔn)部件對(duì)于用戶(hù)來(lái)說(shuō)沒(méi)有學(xué)習(xí)成本。

為了更好的發(fā)揮使用標(biāo)準(zhǔn) UI 部件的優(yōu)勢(shì),以下這些十分關(guān)鍵:

遵從每一個(gè) UI 元素的指南。當(dāng) UI 元素的外觀和作用都像用戶(hù)熟悉的那樣時(shí),用戶(hù)之前的經(jīng)驗(yàn)可以幫助他們?cè)谀愕膽?yīng)用中使用這些部件。更多 UI 元素指南,參考 Bars, Content Views, ControlsTemporary Views

不要混用不同版本的 iOS 中的 UI 部件風(fēng)格。 使用看起來(lái)不像當(dāng)前設(shè)備運(yùn)行的 iOS 版本而像是來(lái)自其他版本的 UI 部件,會(huì)使用戶(hù)感到困惑,而這并不是你希望看到的。

在一般情況下避免為一個(gè)標(biāo)準(zhǔn)操作創(chuàng)建自定義的 UI 部件。首先,問(wèn)問(wèn)自己為什么想要?jiǎng)?chuàng)建一個(gè)實(shí)際上只是執(zhí)行標(biāo)準(zhǔn)操作的自定義 UI 部件。如果你只想自定義外觀的話,可以考慮通過(guò) UIKit 外觀自定義 API 或 tint color 來(lái)改變標(biāo)準(zhǔn)的部件外觀。如果你只是想要稍微改變一下操作,確定你已經(jīng)了解,當(dāng)你改變標(biāo)準(zhǔn)部件的屬性和特征時(shí),它還是不是會(huì)按你預(yù)期的那樣工作。如果你確實(shí)想要一個(gè)完全自定義的操作,最好的實(shí)現(xiàn)方式是創(chuàng)建一個(gè),看起來(lái)與標(biāo)準(zhǔn)部件不是太像的自定義部件。

提示:接口建造器(Interface Builder)可以令以下操作變得容易:獲得標(biāo)準(zhǔn) UI 部件、使用外觀自定義 API、訪問(wèn)屬性和權(quán)限、在自己的模塊中運(yùn)用自定義或系統(tǒng)提供的標(biāo)志。參見(jiàn) Xcode Overview,了解更多關(guān)于接口建造器內(nèi)容。

不要將系統(tǒng)定義的按鈕或標(biāo)志另作他用。 iOS 提供了很多你可以在你的應(yīng)用中使用的按鈕和標(biāo)志。確保你已經(jīng)明白這些按鈕和標(biāo)志文檔中的語(yǔ)義含義,不要僅憑你對(duì)它們外觀的理解就去使用。

如果你認(rèn)為系統(tǒng)自帶的按鍵和標(biāo)志不能合理的表達(dá)你應(yīng)用提供的功能,你可以自定義他們,參看欄按鈕圖標(biāo),幫助你設(shè)計(jì)你自定義的標(biāo)志 如果你的應(yīng)用提供仿真任務(wù)或體驗(yàn),使用完全自定義控制將會(huì)變得合理。因?yàn)榇藭r(shí)你在創(chuàng)建一個(gè)獨(dú)特的環(huán)境,而了解如何控制這樣的環(huán)境將會(huì)是用戶(hù)在這類(lèi)應(yīng)用中期待的體驗(yàn)。

淡化文件和文檔處理

iOS 可以幫助用戶(hù)創(chuàng)建并管理文件,但并不代表用戶(hù)必須考慮 iOS 設(shè)備的文件系統(tǒng)如何運(yùn)作。

如果你的應(yīng)用能幫助用戶(hù)創(chuàng)建并編輯文檔,可以提供應(yīng)用特有的庫(kù)文件瀏覽器讓用戶(hù)打開(kāi)已有文件或者創(chuàng)建新文件。更多關(guān)于文檔提供器拓展,與文檔選擇視圖控制器的內(nèi)容參見(jiàn) Document Provider Extensions,Document Picker Programming Guide。

理論上,這樣的文件瀏覽器應(yīng)該:

  • 高度圖形界面化的。 用戶(hù)應(yīng)該可以輕松地通過(guò)屏幕上的文件圖形化代表,來(lái)找到他們想要的文件。
  • 允許用戶(hù)通過(guò)最少的手勢(shì)動(dòng)作完成操作。例如,用戶(hù)可以通過(guò)水平拖動(dòng),瀏覽在輪播方式或表格方式下陳列的文件,然后通過(guò)點(diǎn)擊其中一個(gè),來(lái)打開(kāi)他們想要的文件。
  • 包含創(chuàng)建新文件的功能。一個(gè)庫(kù)文件管理器可能會(huì)讓用戶(hù),通過(guò)點(diǎn)擊占位圖標(biāo)的方式來(lái)創(chuàng)建新文件,而不是在應(yīng)用之外某處執(zhí)行這個(gè)功能。

例如,Pages 應(yīng)用在圖形化顯示庫(kù)文件的同時(shí),還為用戶(hù)提供了創(chuàng)建新文件的簡(jiǎn)單方式:

http://wiki.jikexueyuan.com/project/ios-human-interface-guidelines/images/document_library_2x.png" alt="" />

提示:即使你的應(yīng)用不能打開(kāi)文件,你也可以通過(guò)提供快速預(yù)覽功能讓用戶(hù)可以預(yù)覽內(nèi)容。

如果你的應(yīng)用程序想要允許用戶(hù)使用他們?cè)谄渌麘?yīng)用程序中創(chuàng)建的文件,你可以通過(guò)顯示一個(gè)模態(tài)文件選擇視圖控制器來(lái)幫助他們獲取這些文件。除了與其他文件創(chuàng)建或儲(chǔ)存應(yīng)用相關(guān)聯(lián)的文件提供器拓展外,文件選擇視圖控制器同樣也可以在用戶(hù)的 iCloud 驅(qū)動(dòng)中顯示文件。

讓用戶(hù)相信文件將總是會(huì)被保存,除非他們明確要取消或刪除如果你的應(yīng)用要幫助用戶(hù)創(chuàng)建或者編輯文檔,不要要求單獨(dú)的保存操作,無(wú)論用戶(hù)是要打開(kāi)其他文檔,還是要從當(dāng)前應(yīng)用切換出去,iOS 應(yīng)用都有責(zé)任為用戶(hù)保存輸入。

但如果你應(yīng)用的主要功能不是創(chuàng)建內(nèi)容,而是讓用戶(hù)可以在瀏覽和編輯之間切換,你可以要求一個(gè)單獨(dú)的保存操作。在這種情況下,在顯示信息的視圖中,提供一個(gè)編輯按鈕將會(huì)是不錯(cuò)的選擇。當(dāng)用戶(hù)點(diǎn)擊了編輯按鈕后,用保存按鈕替換掉它,并再提供一個(gè)取消按鈕。編輯按鈕的變化,提醒了用戶(hù)他們當(dāng)前處在編輯模式中,并可能需要執(zhí)行保存操作,而取消按鈕為他們提供了在不保存變更的情況下退出的選擇。

如果可以將應(yīng)用變成可配置的

一些應(yīng)用需要為用戶(hù)提供設(shè)置或是配置的方式,大多數(shù)的應(yīng)用回避或推遲了這樣的處理。但成功的應(yīng)用不僅能夠立即做到,還為用戶(hù)提供了方便方式來(lái)調(diào)節(jié)他們的體驗(yàn)。

當(dāng)你將按照大多數(shù)用戶(hù)的期望設(shè)計(jì)你應(yīng)用的功能時(shí),你便減少了對(duì)于設(shè)置的需求。當(dāng)你需要用戶(hù)信息的時(shí)候,你應(yīng)該向系統(tǒng)而不是用戶(hù)發(fā)出請(qǐng)求。如果確定要為用戶(hù)提供他們幾乎不怎么變更的應(yīng)用設(shè)置,可以參看The Settings Bundle,了解如何在代碼中實(shí)現(xiàn)這一需求。

盡可能在主 UI 中提供配置選項(xiàng)。當(dāng)一個(gè)選項(xiàng)需要被頻繁的變更或者它代表了主要任務(wù)時(shí),將該選項(xiàng)放在主界面中會(huì)是合理的安排。但如果用戶(hù)只是偶爾需要改變應(yīng)用的配置,將選項(xiàng)放到分頁(yè)面中會(huì)比較合理。參看 Settings Launch URL。

必要時(shí)幫助用戶(hù)直接到達(dá)設(shè)置中關(guān)于你應(yīng)用的部分。尤其是你顯示的信息是如何找到關(guān)于你應(yīng)用的設(shè)置時(shí)(如設(shè)置 > 我的應(yīng)用 > 個(gè)人 > 本地服務(wù)),將它們替換成一個(gè)可以直接在設(shè)置中打開(kāi)該路徑的按鈕

更好的運(yùn)用 iOS 技術(shù)

iOS 提供了豐富的技術(shù),這些技術(shù)可以以用戶(hù)期待的方式支持普遍的任務(wù)和場(chǎng)景。這里的“期待”指的是,將系統(tǒng)支持的技術(shù)整合到你的應(yīng)用中總會(huì)比自己?jiǎn)为?dú)設(shè)計(jì)一套方法來(lái)的好。

一些 iOS 技術(shù),像多任務(wù)處理( Multitasking )和 VoiceOver,是所有應(yīng)用都應(yīng)該包含的系統(tǒng)特征。其他的允許了特定的應(yīng)用功能,像是處理票務(wù)和贈(zèng)品卡的電子卡包(Passbook),允許用戶(hù)在應(yīng)用內(nèi)支付的應(yīng)用內(nèi)購(gòu)買(mǎi)服務(wù)(In-App Purchase),顯示應(yīng)用內(nèi)廣告的iAd 富媒體廣告(iAd Rich Media Ads),提供整合服務(wù)的游戲中心(Game Center),和支持服務(wù)的 iCloud。