1.13 與iOS的整合(Integrating with iOS)

2023-05-09 15:12 更新

1.13 與iOS的整合Integrating with iOS

與iOS整合指的是在當(dāng)前平臺上給用戶提供一種舒適的、賓至如歸般的體驗(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)。

1.13.1 正確使用標(biāo)準(zhǔn)UI元素Use Standard UI Elements Correctly

盡可能使用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元素對于你自定義外觀和行為來說擁有優(yōu)秀的擴(kuò)展性。舉個(gè)例子iOS中所有的視圖Views從UIView中繼承的對象都是可以使用TintColor屬性來定義顏色的它讓應(yīng)用配色變得很簡單。
  • 用戶更熟悉和習(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)來使用他們進(jìn)而更好地使用你的應(yīng)用。你可以從這些章節(jié)中找到各種UI元素的設(shè)計(jì)規(guī)范BarsContent ViewsControlsTemporary 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)標(biāo)準(zhǔ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)控件稍有不同的行為請確保你在改變了這個(gè)UI元素的屬性和行為之后這個(gè)元素仍然能完成你所希望的操作。如果你需要完全自定義一個(gè)行為最好是設(shè)計(jì)一個(gè)與標(biāo)準(zhǔn)元素完全不相像的自定義元素。

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

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

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

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

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

1.13.2 弱化文件和文檔處理Downplay File and Document Handing

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

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

  • 高度圖形化。用戶通過屏幕上的縮略圖就可以一目了然快速找出自己想要的文件。
  • 讓用戶用最少的動(dòng)作完成自己的任務(wù)。比如說用戶可以快速地水平滾動(dòng)文件列表然后輕點(diǎn)一下自己想要的文件來打開它。
  • 包含新建文檔功能。一個(gè)圖形庫視圖應(yīng)該支持讓用戶點(diǎn)擊一個(gè)新建文檔的占位圖便完成新建文檔操作而不是讓用戶通過訪問別的地方來新建文檔。

舉個(gè)例子Pages的圖形庫視圖里面既展示了用戶已存在的文檔也加入了便捷的新建文檔操作。

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

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

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

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

1.13.3 必要時(shí)提供可配置選項(xiàng)Be Configurable If Necessary

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

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

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

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

1.13.4 充分利用iOS技術(shù)Take Advantage of iOS Technologies

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同時(shí)支持iCloud.

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號