Integrating with iOS
與iOS融為一體意思是在這個(gè)平臺(tái)上給用戶一個(gè)有趣、愉悅、賓至如歸的體驗(yàn),而不是開(kāi)發(fā)一個(gè)看起來(lái)像iOS內(nèi)置App復(fù)制品的App。
1. 正確使用標(biāo)準(zhǔn)UI元件(Use Standard UI Elements Correctly)
盡可能多地使用UIkit提供的標(biāo)準(zhǔn)UI元件。當(dāng)你使用標(biāo)準(zhǔn)元件而不是自定義元件時(shí),你和你的用戶都將獲益:
- 當(dāng)iOS引進(jìn)重新設(shè)計(jì)的外觀時(shí),標(biāo)準(zhǔn)UI元件會(huì)自動(dòng)獲得更新,自定義元件不會(huì)。
- 標(biāo)準(zhǔn)元件往往提供多種自定義它們外觀和行為的方法。例如,所有的視圖(即從UIView繼承來(lái)的物體)可以利用tintColor屬性著色,這樣會(huì)讓你的App很容易添加顏色。
- 用戶習(xí)慣于標(biāo)準(zhǔn)UI元件,所以他們可以迅速理解如何在你的App中使用。
為了獲得使用標(biāo)準(zhǔn)UI元件的好處,你一定要:
服從每個(gè)UI元件的使用規(guī)則。
不要混淆不同iOS版本中UI元件的風(fēng)格。
通常,不要?jiǎng)?chuàng)建一個(gè)與標(biāo)準(zhǔn)UI元件執(zhí)行相同動(dòng)作的自定義元件。首先問(wèn)自己為何要?jiǎng)?chuàng)建一個(gè)與標(biāo)準(zhǔn)UI元件行為一樣的自定義元件。如果只是想要一個(gè)自定義的外觀,可以考慮通過(guò)使用UIkit外觀自定義APIs或者著色來(lái)改變標(biāo)準(zhǔn)UI元件的外觀。如果想要一個(gè)稍微不一樣的行為,在調(diào)整它的特性前先查看一下是否有滿足你要求的標(biāo)準(zhǔn)元件。如果你需要徹底自定義行為,最后把自定義元件外觀設(shè)計(jì)得與標(biāo)準(zhǔn)元件不一樣。
不要使用系統(tǒng)定義的按鈕和圖標(biāo)去表達(dá)其他意思。iOS提供了很多按鈕和圖標(biāo),可以用于你的App。確保你理解這些按鈕和圖標(biāo)的書(shū)面語(yǔ)義;不要依靠你對(duì)它們外觀的解讀。(你可以在Toolbar and Navigation Bar Buttons和Tab Bar Icons中找到每個(gè)圖標(biāo)的含義。)
如果你的App運(yùn)行沉浸式的任務(wù)或體驗(yàn),創(chuàng)建完全自定義控件會(huì)比較合理。這是因?yàn)槟銊?chuàng)造了一個(gè)獨(dú)特的環(huán)境,并且一步步發(fā)現(xiàn)操縱這個(gè)環(huán)境的方法是用戶在這類App中期望獲得的體驗(yàn)。
2. 弱化文件和文檔處理(Downplay File and Document Handling)
iOS應(yīng)用幫助人們創(chuàng)建和處理文件,但不需要用戶了解iOS設(shè)備上的文件系統(tǒng)。如果你的App幫助用戶創(chuàng)建并編輯文檔,提供一些可以讓用戶打開(kāi)已有文件或創(chuàng)建新文件的App特有文件夾視圖會(huì)非常有用,這樣的文件夾:
- 高度圖形化。
- 可以讓用戶用最少的手勢(shì)做他們想做的事。
- 包含新的文檔功能。與其讓用戶去別的地方新建文檔,文件夾應(yīng)該可以讓他們點(diǎn)擊占位符圖片新建文檔。

如果你的App允許用戶使用他在其它App內(nèi)創(chuàng)建的文件,你可以顯示一個(gè)文檔選擇器模態(tài)視圖幫助用戶找到他們的文檔。
給用戶信心,除非他們明確取消或刪除文檔,否則他們的工作一定會(huì)保存下來(lái)。
如果你的App主要功能不是內(nèi)容創(chuàng)建,但是你允許用戶在信息查看界面和編輯界面之間切換,詢問(wèn)用戶是否保留更改就非常重要。在這樣的場(chǎng)景中,通常會(huì)在展示信息的視圖中提供一個(gè)“編輯”按鈕。當(dāng)用戶點(diǎn)擊它時(shí),用“保存”按鈕替換它同時(shí)增加一個(gè)“取消”按鈕。
3. 必要時(shí)可配置(Be Configurable If Necessary)
一些應(yīng)用可能需要給用戶提供一個(gè)進(jìn)行設(shè)置或配置選擇的途徑,但大多數(shù)應(yīng)用可以避免或延遲做這些。成功的應(yīng)用對(duì)大多數(shù)用戶可以立刻很好地運(yùn)行,同時(shí)也提供一些便捷的方式來(lái)調(diào)整用戶體驗(yàn)。
盡可能在主要的用戶界面中提供配置選項(xiàng)。
如果必要,幫助用戶直接從iOS設(shè)置中進(jìn)入你的應(yīng)用設(shè)置。
4. 充分利用iOS技術(shù)(Take Advantage of iOS Technologies)
iOS提供了豐富的技術(shù),可以以用戶希望的方式支持常見(jiàn)任務(wù)和功能。這種期望意味著,在你的App中集成系統(tǒng)支持的技術(shù)總是比設(shè)計(jì)自定義方式要好。
一些iOS技術(shù)比如Multitasking和VoiceOver是所有App必須支持的系統(tǒng)特性。另外一些可以視具體的App功能而定,比如處理處理票證和禮物卡(Wallet),允許用戶進(jìn)行App內(nèi)購(gòu)買(In-App Purchase),展示App內(nèi)廣告(iAd Rich Media Ads),集成Game Center,以及支持iCloud。