與iOS整合指的是在當(dāng)前平臺上給用戶提供一種舒適的、賓至如歸般的體驗當(dāng)然這并不意味著我們要把每一個應(yīng)用做的和內(nèi)置應(yīng)用一模一樣。
最好的與iOS整合的方式便是深刻地了解iOS的主題與核心——這一部分在上文為iOS而設(shè)計Designing for iOS部分中已有詳細描述并尋求出如何在你的應(yīng)用中融合與表達這種主題。當(dāng)你這么做的時候遵循本章中的指引可以幫助你為你的用戶提供他們想要的體驗。
盡可能使用UIkit提供的標準UI元素是一個好主意。多使用標準元素而非自定義元素你與你的用戶都將受益
想要充分地利用標準UI元素的優(yōu)點有一些關(guān)鍵點需要特別注意
嚴格遵循每個**UI**元素的設(shè)計規(guī)范。當(dāng)你應(yīng)用中的UI元素的外觀與功能都是用戶所熟悉的他們可以很容易地根據(jù)先前的經(jīng)驗來使用他們進而更好地使用你的應(yīng)用。你可以從這些章節(jié)中找到各種UI元素的設(shè)計規(guī)范Bars, Content Views, Controls, Temporary Views.
譯者注上文提到的章節(jié)均處在iOS Human Interface Guidelines的第4章翻譯將在后續(xù)更新中放出煩請各位耐心等候。若有需要亦可先參考先前已翻譯的iOS7 UI Elements章節(jié)上下。
不要混用不同版本的**iOS里的UI**元素。你一定不希望讓用戶覺得你的UI元素來自于與當(dāng)前用戶的設(shè)備版本不同的iOS系統(tǒng)。
大體來說請避免創(chuàng)造自定義**UI**元素來表現(xiàn)標準交互行為。先問問你自己為什么一定要創(chuàng)建一個與標準UI元素行為完全相同的自定義元素。如果你只是想改變標準UI元素的外觀可以考慮使用UIKit外觀定制API(UIKit appearance customization APIs)或者給元素填充別的顏色。如果你需要定義一個與標準控件稍有不同的行為請確保你在改變了這個UI元素的屬性和行為之后這個元素仍然能完成你所希望的操作。如果你需要完全自定義一個行為最好是設(shè)計一個與標準元素完全不相像的自定義元素。
提示Interface Builder讓獲取標準UI元素使用外觀定制APIthe appearance customization APIs獲取屬性以及在你的應(yīng)用里使用自定義和系統(tǒng)自帶圖標變得很簡單。想要了解更多Interface Builder的內(nèi)容請參閱Xcode Overview.
不要用系統(tǒng)自帶的按鈕和圖標表達其他含義。iOS提供了多種可用的按鈕和圖標。請確認你了解它們的準確表意不要單純憑借你看到這些圖標樣式的猜測和理解來解讀和使用它們。你可以在Toolbar and Navigation Bar Buttons和Tab Bar Icons中了解到這些按鈕和圖標的準確含義。
如果你所需要的功能無法用系統(tǒng)提供的按鈕和圖標來表現(xiàn)你也可以設(shè)計自定義按鈕。自定義按鈕的設(shè)計可以參考 Bar Button Icons.
譯者注上文提到的章節(jié)均處在iOS Human Interface Guidelines的第4章翻譯將在后續(xù)更新中放出煩請各位耐心等候。若有需要亦可先參考先前已翻譯的iOS7 UI Elements章節(jié)上下。
如果你的app是沉浸式體驗?zāi)敲磩?chuàng)造全新的自定義UI是合理的。因為你在創(chuàng)造一個統(tǒng)一的體驗環(huán)境讓用戶在其中能夠有所期待并探索如何控制應(yīng)用。
iOS應(yīng)用可以幫助用戶創(chuàng)建和處理文件但這并不意味著用戶需要過分考慮iOS設(shè)備的文件系統(tǒng)如何運作。
如果你的應(yīng)用中支持用戶創(chuàng)建和編輯文檔那么提供一個清晰的圖形庫視圖(document library view)讓用戶能夠方便地打開或者新建文檔是一個好的做法。理想狀況下這樣的圖形庫視圖擁有以下特征
舉個例子Pages的圖形庫視圖里面既展示了用戶已存在的文檔也加入了便捷的新建文檔操作。
提示你可以使用Quick Look Preview功能來讓用戶預(yù)覽你的應(yīng)用中的文件哪怕你的應(yīng)用不能打開這些文件。想要了解如何在你的應(yīng)用中提供這個功能請參閱Quick Look.
如果你的應(yīng)用允許用戶使用在其他應(yīng)用中創(chuàng)建的文檔你可以通過模態(tài)文檔選擇視圖控制器modal document picker view controller來幫助用戶觸達它們。這個控制器可以提取用戶在iCloud中的文檔還可以通過文檔提供者擴展Document Provider extensions來提取在其它應(yīng)用中創(chuàng)建和儲存的文件。想要了解更多文檔提供者擴展的內(nèi)容可以參考Document Provider Extensions; 想要了解更多文檔提取視圖控制器請參考Document Picker Programming Guide.
給用戶足夠的信心讓他們相信除非主動取消或者刪除他們的成果會被隨時妥善保存**。**如果你的應(yīng)用幫助用戶創(chuàng)建于管理文檔不能要求用戶每次都能及時保存。無論是打開另一個文檔或切換應(yīng)用的時候iOS應(yīng)用都應(yīng)當(dāng)承擔(dān)起幫助用戶保存輸入內(nèi)容的責(zé)任。
如果你的應(yīng)用的主要功能不是創(chuàng)造內(nèi)容但又允許用戶查看或編輯信息這種情況下你需要詢問用戶是否要保存修改。在這種場景下比較好的做法是提供“編輯”按鈕點擊后進入編輯狀態(tài)同時編輯按鈕變成“保存”和“取消”按鈕這種變化可以提示用戶當(dāng)前處于編輯模式?!氨4妗笨梢员A粜薷膬?nèi)容“取消”則退出編輯模式。
某些應(yīng)用需要用戶手動安裝或設(shè)置選項但是大部分應(yīng)用不需要如此。一個好的應(yīng)用可以讓大部分用戶快速上手并通過主界面給用戶提供便捷的調(diào)整體驗的方式。
當(dāng)你的應(yīng)用在默認狀態(tài)下就能滿足大部分用戶的期望用戶對設(shè)置的需求就減少了。如果你需要儲存用戶的基本資料可以優(yōu)先向系統(tǒng)請求和拉取相關(guān)信息而不是上來就讓用戶自己填寫它。如果你一定要提供用戶鮮少用到的設(shè)置項請參考App Programming Guide for iOS中的The Setting Bundle部分來了解如何在代碼中定義它們。
盡可能在主UI中提供設(shè)置選項。如果這個設(shè)置項代表著用戶一個基本任務(wù)又或者用戶在進行主線任務(wù)時有可能頻繁改變設(shè)置那么將設(shè)置項放在主UI中會很方便。如果用戶只是偶爾才會用到設(shè)置項那么可以將其放在獨立的視圖中。
如果應(yīng)用內(nèi)相關(guān)設(shè)置需要在系統(tǒng)設(shè)置中改變幫助用戶直接訪問系統(tǒng)設(shè)置。尤其是如果你要用一段文字來描述如何改變這個設(shè)置比如“設(shè)置>隱私>定位服務(wù)”倒不如直接放置一個按鈕點擊后即可到達設(shè)置中的定位服務(wù)。想要了解如何實現(xiàn)請參考 Settings Launch URL.
iOS提供了豐富的技術(shù)方式來支持用戶完成他們所期望的各種任務(wù)和場景。這意味著在絕大多數(shù)情況下將系統(tǒng)提供的技術(shù)整合到你的應(yīng)用中往往比自定義一種新的技術(shù)更為可靠。
某些iOS技術(shù)比如多任務(wù)并行Multitasking與語音向?qū)?a rel="external nofollow" target="_blank" target="_blank">VoiceOver等等是所有應(yīng)用都應(yīng)該包含的系統(tǒng)級特性。而另外一些技術(shù)是否整合到應(yīng)用中則取決于應(yīng)用本身的功能性。比如處理門票和禮品卡的應(yīng)用Wallet支持用戶在應(yīng)用內(nèi)內(nèi)購 In-App Purchase展示應(yīng)用內(nèi)置廣告iAd Rich Media Ads則可以整合 Game Center同時支持iCloud.
更多建議: