iOS 10 人機界面設計指南 (合集)_第1頁
iOS 10 人機界面設計指南 (合集)_第2頁
iOS 10 人機界面設計指南 (合集)_第3頁
iOS 10 人機界面設計指南 (合集)_第4頁
iOS 10 人機界面設計指南 (合集)_第5頁
已閱讀5頁,還剩89頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

iOS10人機界面設計指南(合集)1.

概覽(Overview)1.1設計原則(Design

Principles)作為一名移動應用設計師,意味你有機會發(fā)布一款具有殺傷力的產(chǎn)品能夠登上蘋果商店的榜首。為了實現(xiàn)這個目標,你的產(chǎn)品必須在質(zhì)量和功能上達到高標準。以下三大原則讓iOS系統(tǒng)有別于其它平臺:清晰(Clarity)縱觀整個系統(tǒng),任何尺寸的文字都清晰易讀,圖標精確易懂,恰當?shù)男揎椙也灰妆徊煊X,聚焦于功能,一切設計由功能而驅(qū)動。留白、顏色、字體、圖形以及其它界面元素能夠巧妙地突出重點內(nèi)容并且表達可交互性。遵從(Deference)流暢的動效和清爽美觀的界面有助于用戶理解內(nèi)容并與之交互,而不會干擾用戶。當前內(nèi)容占據(jù)整屏時,半透明和模糊處理能夠暗示其它更多的內(nèi)容。減少使用邊框、漸變和陰影讓界面盡可能地輕量化,從而突出內(nèi)容。深度(Depth)清楚的視覺層和生動的動效表達了層次結(jié)構(gòu),賦予了活力,并有助于理解。易于發(fā)現(xiàn)的且可觸發(fā)的界面元素能提升體驗愉悅感,讓用戶在成功觸發(fā)相應功能或者獲得更多內(nèi)容的同時還能掌控當前位置的來龍去脈。當用戶瀏覽內(nèi)容上時,流暢的過渡提供一種縱深感。要想擴大影響力和涉及范圍,在設計你的獨特應用時,請熟記以下幾點原則:美學完整性(Aesthetic

Integrity)美學完整性代表了一款應用的視覺表象和交互行為與其功能整合的優(yōu)良程度。例如,一款協(xié)助用戶完成重要任務的應用應該使用不易察覺且不引人注目的圖形、標準化控件和可預知的交互行為從而讓用戶保持專注。反之而言,一款沉浸式體驗的應用(比如游戲),就需要吸引人的視覺表象,在鼓勵用戶探索的同時帶來無窮的樂趣和刺激。一致性(Consistency)一款內(nèi)部一致的應用能夠貫徹相同的標準和規(guī)范:使用系統(tǒng)提供的界面元素、風格統(tǒng)一(眾所周知)的圖標、標準的字體樣式和一致的措辭。應用所包含的特征和交互行為是符合用戶心理預期的。直接操作(Direct

Manipulation)對屏幕上的對象直接操作(而不是通過一堆控件)能夠提升用戶的參與度并有助于理解。直接操作指包括用戶旋轉(zhuǎn)設備或者使用手勢控制屏幕上的對象。通過直接操作,他們的交互行為能夠得到即時可視的反饋。反饋(Feedback)反饋認證交互行為,呈現(xiàn)結(jié)果,并通知用戶。系統(tǒng)自帶的iOS應用對每一個用戶行為都提供了明確的反饋。可交互的元素被點擊時會被臨時高亮,進度指示器(progress

indicator)顯示了需要長時間運轉(zhuǎn)的操作的進度,動效和聲音加強了對行為結(jié)果的提示。隱喻(Metaphors)當一個應用的虛擬對象和行為與用戶熟悉的體驗相似時——無論這種體驗是來源于現(xiàn)實生活或是數(shù)字世界,用戶就能更快速地學會使這款應用。隱喻在iOS中能夠起作用是因為用戶與屏幕進行物理上的交互。他們通過將視圖移出屏幕來顯示下方的內(nèi)容,他們拖曳(drag)和滑動(swipe)對象,他們撥動(toggle)開關(guān),移動(move)滑塊,滾動(scroll)數(shù)值選擇器,他們甚至通過輕掃(flick)來翻閱書籍和雜志。用戶控制(User

control)在iOS內(nèi)部,是用戶——而不是應用——在控制。應用可以對一系列用戶行為提供建議,或?qū)赡茉斐蓢乐睾蠊男袨榘l(fā)出警告,但不應該替用戶做決定。好的應用會在讓用戶主導和避免不想要的結(jié)果中找到平衡。為了讓用戶感覺到是他們在控制,應用應該使用熟悉且可預知的交互元素,讓用戶二次確定有破壞性的行為,并且讓即使在運行中的操作也能夠被輕易取消。1.2

Ios

10

新特征介紹在iOS

10,你可以創(chuàng)造前所未有的更強大的應用。當你瀏覽這些新改變并在思考他們將如何幫助你的應用時,請?zhí)貏e關(guān)注設計指南。Widget

提供即時且有用的信息,或是應用特有的一些無需打開應有就能使用的功能。在過去,用戶在消息中心添加widgets當作快速入口?,F(xiàn)在,用戶在搜索屏幕添加widgets,用戶可通過在主屏或是鎖屏右滑進入搜索屏幕。你也可以在主屏通過3D

Touch觸發(fā)的某個應用的快捷操作菜單(quick

action

list)上方添加widget。Widget的設計和交互方式也改變了。請注意更新你現(xiàn)有的設計。與Messages的聯(lián)動應用可以通過執(zhí)行一種出現(xiàn)在對話下方的messaging插件讓用戶與朋友分享來自該應用的內(nèi)容。應用可以通過Message分享文字,圖片,視頻,貼紙,甚至可交互的內(nèi)容,譬如信息內(nèi)的游戲。應用能夠與Siri聯(lián)動,從而讓用戶使用聲音來執(zhí)行相應的應用操作,譬如打電話、發(fā)短信和開始鍛煉。你可以通過拓展詳情視圖來增強你的通知欄,用戶可以在未鎖屏狀態(tài)下通過3D

Touch功能點擊或是下滑通知欄來打開拓展視圖。使用這種視圖能夠讓用戶快速瀏覽更多信息,并允許他們在不離開當前界面的情況下對該消息進行快速操作。1.3

界面基本元素大多數(shù)的iOS應用使用了來自UIKit的部件,這是一個定義了基本界面元素的編程框架。這個框架讓各種應用在視覺上達到一致的同時還提供了高度的個性化。UIKit元素是靈活且常見的。它們是可適配的,讓你能夠設計一個在任何iOS設備上都看起來很棒的應用,而且能夠在系統(tǒng)發(fā)布新版本的時候自動更新。由UIKit提供的界面元素可以分為以下三種:欄:告知用戶現(xiàn)在在應用的哪里,提供導航,而且還可能包含按鈕或者其它用來觸發(fā)功能和交流信息的元素。視圖:包含用戶在應用內(nèi)最關(guān)注的信息,例如文本、圖形、動畫和交互元素。視圖允例如滾動、插入、刪除和排列之類的行為??丶河|發(fā)功能和傳遞信息??丶ò粹o、開關(guān)、輸入框和進度指示器。為了進一步定義iO界面,UIKit規(guī)定了你的應用能夠采用的功能。通過這個框架,你的應用可以對觸摸屏上的手勢作出應答,還可以包含一些例如繪畫、可訪問性和打印的功能。iOS也和其他編程框架和技術(shù)緊密結(jié)合,譬如Apple

Pay,

HealthKit和ResearcKit,

它幫助你設計出一個強大地驚人的應用。來源:/ios/human-interface-guidelines/2.交互(Interaction)2.13D觸摸(3DTouch)3DTouch為觸碰式交互增加了一個維度。在支持3DTouch的設備上,用戶通過對觸摸屏施加不同的力度來實現(xiàn)更多的功能,譬如觸發(fā)菜單、顯示更多的內(nèi)容或是播放動畫。用戶無需學習新的手勢來使用3DTouch。當他們輕壓屏幕并且獲得應答的時候就能立即發(fā)現(xiàn)這一新的交互維度。2.1.1主屏幕交互(HomeScreenInteraction)在支持3DTouch的設備的主屏按壓應用圖標會觸發(fā)相應的操作視圖。該視圖讓你能夠快速地執(zhí)行常用的應用任務和預覽有趣的信息,譬如日歷應用,它能夠提供創(chuàng)建新事件的快捷操作,同時顯示日程表上的下一個事件。了解相關(guān)設計指導,請參閱HomeScreenAction和Widgets。2.1.2輕壓(Peek)和重壓(Pop)輕壓允許用戶使用3DTouch在當前環(huán)境上預覽一個臨時視圖內(nèi)的對象,譬如一個頁面、鏈接或者文件。要想在支持該功能的設備上實現(xiàn)預覽,只需用手指對應用施加一點壓力,而抬起手指就能退出預覽。要想打開對象來瀏覽更多的內(nèi)容,請更重地按壓屏幕直到對象放大到填滿屏幕。在一些輕壓視圖上,你可以通過上滑來顯示相應的操作按鈕。譬如,在Safari打開了某個鏈接的輕壓視圖時,你可以通過上滑展開相應的操作按鈕——打開鏈接,添加至閱讀列表和復制鏈接。利用輕壓視圖提供實時的,內(nèi)容豐富的預覽。理想情況下,輕壓視圖為該項提供足夠的信息以補充說明當前任務,或者幫助你決定是否完全地打開該項。例如,預覽郵件(Mail)信息中的鏈接,從而決定是否在Safari瀏覽器中打開或者分享給朋友。輕壓視圖一般被利用于表單視圖中,提供一個行項的詳細信息,從而決定是否選擇該項。設計足夠大的輕壓視圖。設計一個足夠大的輕壓視圖從而保證手指不會遮擋到內(nèi)容。確保輕壓視圖能夠提供足夠詳細的信息,以便用戶決定是否按地更重來完全地打開該項。統(tǒng)一使用輕壓和重壓功能。如果你只在某些地方使用輕壓和重壓,而不在另一些地方使用,用戶就不會知道到底哪里可以使用這個功能,而且可能會認為你的應用或是他們的設備出了問題。允許每個輕壓視圖都能夠被重壓。雖然輕按視圖能夠提供給用戶他們所需的大部分信息,但如果他們想離開當前任務并轉(zhuǎn)移注意力至該項時,應該允許他們過渡到重壓。避免在輕壓視圖中呈現(xiàn)按鈕式元素。如果用戶抬起手指去點擊類似按鈕的元素,輕壓就會消失。不要讓同一項具備輕壓和編輯菜單(Editmenu)兩個功能。當一個項目同時啟用兩個功能時,不但會讓用戶感到困惑,也會讓系統(tǒng)難以判斷用戶目的。了解更多指導,請參閱EditMenus。適當時提供操作按鈕。不是每個一輕壓都需要操作按鈕,但這是一個為常用任務提供快捷操作的好方式。如果你的應用已經(jīng)為項目提供了自定義的點擊并長按(touch-and-hold)動作,那么最好在輕壓里包含同樣的操作。避免為打開被輕壓的項目提供操作按鈕。用戶一般都通過更重的按壓來打開他們輕壓的項目。所以,沒有必要再提供一個明顯的打開按鈕。不要讓輕壓成為唯一的執(zhí)行項目操作的操作。并不是所有設備都支持輕壓和重壓,甚至有的用戶會關(guān)閉3D觸摸功能。你的應用為這些情況考慮其它觸發(fā)項目操作的方式。譬如,你的應用可以將輕壓的快捷操作映射到一個視圖中,該視圖會在點擊和長按時出現(xiàn)。2.1.3LivePhotos應用可以通過支持LivePhotos,并在照片中加入壓感用來查看動態(tài)回憶。當你按壓它們時,LivePhotos死而復生,通過動作和聲音再現(xiàn)拍照的前后時刻。了解相關(guān)設計指導,請參閱LivePhotos。2.2輔助功能(Accessibility)iOS

提供了大量的輔助功能來幫助失明、失聰以及其他殘疾群體。大部分以UIKit為基礎(chǔ)的應用能夠輕易地具有輔助性,讓更多的用戶來使用你的應用,因為你為所大眾提供了平等的使用體驗。為圖片、圖標和界面元素提供可選擇的文字標簽??蛇x擇的文字標簽在屏幕上是不可見的,但是他們讓VoiceOver能夠通過聲音描述屏幕上有什么,讓失明用戶能夠輕易地使用導航。相應輔助功能的偏好設置。如果你的應用使用UIKit來實現(xiàn)用戶界面,文字、界面元素就會自動調(diào)整至相應輔助功能的偏好設置,譬如加粗并且更大的文字。你的應用也應當在適當?shù)臅r候檢查并相應輔助功能的偏好設置,譬如當減弱動態(tài)效果(reducemotion)的開關(guān)被打開時。采用自定義字體的應用應該力圖和系統(tǒng)字體的輔助特性保持一致。測試應用的輔助功能。除了文字和動態(tài)效果的變化,輔助功能選項還能改變對比度,反轉(zhuǎn)顏色,降低透明度以及更多。為那些需要這些功能的用戶啟用設置并觀察你的應用將會變成什么樣并且如何運作。包含隱藏式字幕和口述影像。隱藏式字母幫助失聰以及重聽用戶明白視頻中的對話和其它音頻內(nèi)容??谑鲇跋駷橐曈X受損的用戶提供了關(guān)鍵視頻內(nèi)容的口頭解說。了解更多信息,請查閱iOSAccessibilty和AccessibilityProgrammingGuideforiOS。2.3音頻(Audio)無論聲音是你應用體驗的要素或只是一個點綴,你都應該知道用戶對聲音有什么要求并且滿足他們的期待。用戶通過音量鍵、靜音鍵、耳機聲控和屏幕上的音量調(diào)節(jié)滑塊控制聲音。非常多的第三方配件也包含聲控功能。音頻可以通過內(nèi)部和外部的揚聲器、耳機輸出,甚至通過支持AirPlay或是藍牙設備無線輸出。靜音:用戶將他們的設備調(diào)節(jié)至靜音來避免被意外的聲音(比如電話鈴聲和短信提示聲)打擾。他們也想要關(guān)閉沒有意義的聲音,包括按鍵聲、音效、游戲配樂以及其它音頻反饋。當設備被設置成靜音,只能出現(xiàn)被明確被打開的聲音,比如媒體播放中的聲音、鬧鈴和音頻/視頻信息。音量:無論是使用物理的設備按鍵或是屏幕上的滑塊,用戶都希望系統(tǒng)的所有音量都能夠被改變,包括音樂聲和應用內(nèi)的音效。但是鈴聲音量是唯一例外,它只能在沒有任何聲音播放的情況下被單獨調(diào)節(jié)。耳機:用戶使用耳機來私密地聽聲音并且能夠釋放他們的雙手。當用戶插入耳機時,他們希望聲音能夠自動繼續(xù)播放而不被打斷。當拔掉耳機時,他們希望播放能夠立即停止。必要時自動調(diào)節(jié)不同層級的聲音,但不是整體音量。為了達到更好的混合音效,你的應用可以單獨調(diào)節(jié)不同層級音頻間的相對音量。但是,最終的音量輸出應該由系統(tǒng)音量決定。恰當?shù)臅r候允許音頻重選路由(rerouting)。用戶會經(jīng)常想要選擇一個不同的音頻輸出設備。比如,他們會想要通過客廳的立體音響、車載收音機或是蘋果電視來聽音樂。請支持這個功能除非你有令人信服的理由不這么做。使用系統(tǒng)提供的音量視圖來調(diào)節(jié)音量。音量視圖(volumeview)是最好的能提供調(diào)節(jié)音量的界面控件。這個視圖是自定義的,包含一個音量調(diào)節(jié)滑塊,甚至包含一個用來替音頻輸出重選路由的控件。了解實現(xiàn)方法,請參閱MPVolumeViewClassReference。短音和振動請使用系統(tǒng)聲音服務。了解實現(xiàn)方法,請參閱SystemSoundServicesReference。如果聲音對你的應用十分重要請設置音頻類別。不同的音頻類別允許聲音被靜音按鈕靜音、與其它聲音混響、或是當你的應用在后臺時播放。根據(jù)類別的含義和當前設備的音頻播放情況來選擇一個類別,然后將其分配給你音頻對話(audiosessions)。比如,非必要情況下,請不要打斷用戶正在收聽的來自其它應用的音樂??偟膩碚f,盡量不要在你的應用運行時更改所屬的音頻類別,除非應用需要經(jīng)常地錄制然后播放音頻。了解實現(xiàn)方法,請參閱AudioSessionProgrammingGuide。在適當時候繼續(xù)播放被干擾打斷的音頻。正在播放的音頻有時會受來自其它應用的聲音干擾。暫時性干擾(比如來電鈴聲)被認為是可恢復的。永久性干擾(比如被Siri打開的播放列表)被視為不可恢復的。當一個可恢復的干擾出現(xiàn)時,你的應用應該在干擾結(jié)束時恢復音頻播放(假設音頻在干擾出現(xiàn)之前就已經(jīng)開始播放了)。比如,一個在播放配樂的游戲和一個在播放音頻的媒體應用都應該恢復聲音的播放。當干擾發(fā)生時應用沒有在播放任何音頻,那么它也就不需要恢復任何對象。讓其它應用知道何時你的應用將停止播放暫時性的音頻。如果你的應用可能會暫時性地干擾到其它應用的音頻,那么就應該恰當?shù)貥嗣髀曇羝?,從而讓其它應用知道確切的恢復時間。了解實現(xiàn)方法,請參閱AVFoundationFrameworkReference

中的AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation。只有在有意義時才對聲音控件作出反應。無論你的應用在前臺還是后臺,用戶都能夠通過應用界面以外的東西控制音頻的播放,比如在控制中心(ControlCenter)中,或者耳機聲控。如果你的應用正在一個明確與聲音相關(guān)的環(huán)境下播放音頻,或是連接到一個支持AirPlay的設備上,那么對聲音控件作出反應是合理的。但是,你的應用不應該混淆其它應用的音頻,因為它們可能會在控件被激活時播放。不要重新定義聲音控件。用戶希望聲音控制在任何應用都保持一致性。永遠不要重新定義聲音控件。如果你的應用不支持某些控件,那么只需不對它們作出反應即可。2.4身份驗證(Authentication)要求用戶進行身份驗證時應該用有價值的東西交換,比如個人化體驗、獲得更多功能、購買內(nèi)容或者同步數(shù)據(jù)。如果你的應用要求身份驗證,請保證登陸流程快速簡單并且低調(diào),這樣就不會減少應用的樂趣。盡可能地延后登陸。用戶經(jīng)常遺棄應用因為他們在做一些有用的事前被強制登陸。在強制用戶前給他們一個愛上你的應用的機會。在購物應用內(nèi),允許用戶啟動應用后能馬上瀏覽你的商品,然后在他們決定購買時才要求登陸。在流媒體應用內(nèi),允許用戶先探索和了解你能夠提供的內(nèi)容,然后在他們播放時讓他們登陸。解釋身份認證的優(yōu)勢以及如何注冊。如果你的應用要求身份認證,在登陸界面簡要友好地介紹之所以要登陸的原因及其優(yōu)勢。并且請牢記不是每個人在開始使用應用時都擁有一個賬號。請確認你解釋了如何得到賬號,或者提供一個簡單的應用內(nèi)的注冊方式。展示適合的鍵盤來減少數(shù)據(jù)輸入。比如,當要求填寫一個郵箱地址時,請展示包含信息輸入所需快捷鍵的郵件鍵盤窗口。2.5數(shù)據(jù)輸入(DataEntry)無論是點擊界面元素還是使用鍵盤,信息輸入都是一個冗長的流程。當一個應用在做一些有用的事情前要求用戶一連串的輸入,進而拖慢了流程,那么用戶會很快感到失望,甚至會徹底地拋棄這個應用??赡軙r展示選項。盡可能地提高信息輸入的效率。比如,考慮使用選擇器或是列表來替代輸入欄,因為從一列提前設定好的選項中選擇一個比打字容易??赡軙r從系統(tǒng)中獲取信息。不要強迫用戶提供那些可以自動或是在用戶許可內(nèi)就能獲取的信息,比如聯(lián)系人或是日歷信息。提供可靠的默認值。盡可能地預填最可能的信息值。提供一個可靠的默認值縮短了做決定的時間從而加快了流程。只有在收集完必需信息之后才能進行下一步。在允許“下一步”或“繼續(xù)”按鈕前,確保所有必要的輸入框都有信息。盡可能地在用戶輸入之后就立馬檢查輸入值,這樣他們就能立即改正。只要求必要的信息。只有系統(tǒng)運行真正必需的信息才使用必填欄。簡化值列表的導航。尤其是在列表和選擇器中,必需能夠簡單地選擇值??紤]通過將值列表按首字母排序或是其它邏輯排列,從而加快瀏覽和選擇的速度。在輸入欄顯示提示以輔助說明。當輸入欄沒有其它文字時,可以包含占位符文字——比如“郵件”或“密碼”。當占位符文字已經(jīng)足夠說明時不要再單獨使用標簽來描述。2.6反饋(Feedback)反饋讓用戶知道應用現(xiàn)在在做什么,發(fā)現(xiàn)下一步他們應該做什么,并且理解操作的結(jié)果。悄悄地在你的界面中加入狀態(tài)或其它類型的反饋。理想中,用戶能夠在不采取任何操作或是被打擾的情況下得到重要的信息。比如,當用戶在郵件應用中查看郵時,狀態(tài)信息被巧妙顯示在工具欄上。這個信息不會和屏幕上的主要內(nèi)容搶風頭,但是用戶在任何時候快速一瞥就能查看。避免不必要的警告。警告是一種有威力的反饋機制,所以它應該只被用于傳遞重要的并且最好是需要操作的信息。如果用戶看到太多包含無關(guān)緊要信息的警告框,他們很快就會學會忽略之后的警告。了解更多幫助,請參閱Alerts。2.7文件處理(FileHandling)用戶在創(chuàng)建、查看和操作文件時無需思考文件系統(tǒng)。如果你的應用需要運行文件時,盡可能地淡化文件處理。讓用戶相信除非主動取消或刪除,文件會隨時被保存??偠灾?,不要讓用戶去即時保存文件。反之,在文件被打開、關(guān)閉,或是跳轉(zhuǎn)至其它應用時,應該自動定時地替用戶保存文件。但在某些情況,比如正在編輯一個已被創(chuàng)建的文件時,保存和取消的選項也是有意義的,因為它們幫助確認何時編輯的內(nèi)容應該被保存。不要提供創(chuàng)建本地文件的選項。用戶總是希望他們?nèi)康奈募寄茉谌魏卧O備上讀取。如果可能,你的應用應該支持文件云儲存,比如通過與iCloud類似的服務。設計一個直觀并且圖像化的文件瀏覽界面。理想情況下,使用用戶熟悉的系統(tǒng)文檔選擇器來瀏覽文件。如果你想設計一個自定義的文件瀏覽器,請確保它是直觀且高效的。最好的文件瀏覽器應該是高度圖像化的,提供了文檔的視覺再現(xiàn)。要想加快導航速度,減少手勢的使用,并且考慮提供一個添加新文件的按鈕,這樣用戶就無需再到其它地方去創(chuàng)建新文檔。讓用戶在你的應用內(nèi)就能預覽文件。你可以使用QuickLook功能讓用戶查看來自Keynote、Numbers和Pages的內(nèi)容,以及PDF文檔、圖片以及某些其它格式的文件,即使你的應用并沒有真正打開它們。請參閱QuickLook。合適時,與其它應用共享文件。如果有意義,你的應用可以通過documentproviderextension與其它應用共享文件。你的應用也可以讓用戶瀏覽和打開來自其它應用的文件。了解實現(xiàn)方法,請查閱DocumentPickerProgrammingGuide。2.8啟動初體驗(FirstLaunchExperience)應用的啟動時間是你接觸新用戶并與老用戶再次連接的第一個時機。請設計一個快速、有趣并有教育意義的啟動體驗。提供啟動畫面。啟動畫面在應用打開時出現(xiàn),在加載應用初始內(nèi)容的同時,讓人感覺你的應用的響應速度很快。因為這個畫面很快就會被應用的首屏替代,所以它應該盡量與首屏相似,除非出現(xiàn)可定位的文字和可交互的元素。了解更多,請參閱LaunchScreen。選擇合適的方向啟動。如果你的應用同時支持豎屏和橫屏模式,那么應該以設備目前的方向啟動。如果你的應用只在一個方向運行,那它只能在相同方向啟動并在需要時允許用戶旋轉(zhuǎn)設備。除非有迫不得已的原因,否則處于橫屏模式的應用正確地選擇方向,無論Home鍵是在左側(cè)還是右側(cè)。了解更多信息,請參閱Layout??焖偈褂谩1苊獬霈F(xiàn)延遲用戶使用應用時間的啟動畫面、菜單和說明。反之,允許用戶快速進入應用內(nèi)。如果你的應用需要教學或是介紹步驟,為用戶提供一個跳過的選項并且不要對老用戶展示這些。提前設想用戶可能會需要的幫助。經(jīng)常主動地考慮用戶何時會遇到麻煩。比如,一個游戲,能夠在暫?;蚴墙巧茈y升級時提供一些訣竅。當用戶錯過啟動畫面的內(nèi)容時,允許他們之后重新觀看教程。只在教程中展示最關(guān)鍵的內(nèi)容。雖然為新用戶提供引導沒錯,但是教學不能成為優(yōu)秀的應用設計的代替品。更重要的是,確保你的應用是直觀的。如果你的應用需要過多的引導,那么請重新審視你的設計。讓學習變得有趣而且易于學習。通過操作來學習比閱讀一長串說明來的更有趣和有效。在上下文環(huán)境中,通過動畫和可交互性循序漸進地教導。避免展示看起來似乎可交互的屏幕截圖。避免在最開始要求用戶設置信息。用戶期待應用馬上工作。為大多數(shù)人設計你的應用,然后讓余下少部分需要不同配置的人自己調(diào)整參數(shù)來滿足他們的需求。盡可能地,從設備設置和默認中或許設置信息,或者通過同步服務,比如iCloud。如果應用一定要求設置信息,那么在最初在應用內(nèi)提示用戶,然后允許用戶稍后在應用設置中修改。避免展示應用內(nèi)的接受許可協(xié)議和免責聲明。在你的應用被下載之前直接在蘋果商店展示接受許可協(xié)議和免責聲明。如果你必須將這些東西放在你的應用里,那么以和諧融入它們,以避免干擾用戶體驗。在你的應用重新啟動時恢復之前的狀態(tài)。不要讓用戶重新操作來回到之前的應用定位。保存并且復原應用的狀態(tài),這樣用戶就能從他們上次離開的位置繼續(xù)。不要太快或是太頻繁地要求用戶對你的應用評分。太快或是太頻繁地要求評分會讓用戶惱怒,并且減少最終收到的有用反饋的數(shù)量。為了鼓勵考慮周到的反饋,在要求評分之前,給用戶足夠的時間直到他們形成對應用的看法??偸翘峁┨鲈u分提示的選項,并且永遠都不要強迫用戶對你的應用評分。不要鼓勵重啟。重新啟動耗費時間并且讓你的應用看起來即不可靠又不可用。如果你的應用出現(xiàn)儲存或者其它問題,導致它無法運行只能系統(tǒng)重啟,那么你應該解決這些問題。2.9手勢(Gestures)用戶通過在觸摸屏上使用手勢來與iOS設備交互。這些手勢表現(xiàn)了一種親密的人與內(nèi)容之間的聯(lián)系,并且加強了對屏幕上對象直接的操作感。用戶普遍地希望一下的標準手勢能夠在操作系統(tǒng)和每一個應用內(nèi)保持一致。點擊(Tap):激活一個控件或者選擇一個對象。拖曳(Drag):讓一個元素從一邊移動到另一邊,或者在屏幕內(nèi)拖動元素?;瑒樱‵lick):快速滾動或是平移橫掃(Swipe):單指以返回上一頁,呼出對分視圖控制器中的隱藏視圖,滑出列表行中的刪除按鈕,或在輕壓中呼出操作列表。在iPad中四指操作用來在應用間切換。雙擊(Doubletap):放大并居中內(nèi)容或圖片,或者縮小已放大過的。捏合(Pinch):向外張開時放大,向內(nèi)捏合時縮小。長按(Touchandhold):在可編輯或者可選文本中操作,顯示放大視圖用以光標定位。在某些與集合視圖類似的視圖中操作,進入對象可編輯的狀態(tài)。搖晃(Shake):撤銷或重做一般使用標準手勢。用戶已熟悉了標準手勢,并不喜歡在做相同事情時被強迫去學習不同的方式。在游戲等沉浸式體驗的應用中,自定義的手勢能夠成為體驗的有趣要素。但是在其它應用中,最好使用標準手勢,這樣用戶就無需花費多余的力氣去學習和記憶它們。不要禁止系統(tǒng)性的手勢。除了標準手勢,還有一些手勢會觸發(fā)系統(tǒng)性的操作,譬如呼出控制中心或是通知中心。在每個應用中,用戶都依賴使用這些手勢。避免使用標準手勢來執(zhí)行非標準的操作。除非你的應用時一個極具可玩性的游戲,否則重新定義標準手勢會變得混論和復雜。為基于界面的導航和操作提供補充性的快捷手勢,而不是取而代之。可能時,提供簡單明顯的方式來導航或是執(zhí)行操作,即使它可能意味著額外的點擊。非常多的系統(tǒng)應用包含一個提供了清晰可點的返回上一頁的按鈕的導航欄。但是用戶也能通過在屏幕邊緣右滑來返回。在iPad,用戶能夠點擊Home鍵退出到主屏幕,或是使用四指捏合的手勢。使用多指手勢來加強某些應用的體驗。雖然涉及多個手指同時操作的手勢不適用于每一個應用,但是他們能夠豐富一些應用的體驗,譬如游戲和繪畫應用。比如,一個游戲可能包含多種屏幕上的控件,比如同時操作的的控制桿和發(fā)射鍵。2.10加載(Loading)當內(nèi)容在加載時,一片空白靜止的屏幕好像應用被凍住了,讓人感到困惑和失望,而且很可能讓用戶離開你的應用。明確加載的狀態(tài)。至少,展示一個活動旋轉(zhuǎn)器(activityspinner)來表明有任務在進行中。更勝一籌的是,顯示明確的進度,這樣用戶就能知道他們還需等待多久。通過教育或娛樂用戶來填充加載的時間。嘗試展示游戲訣竅、令人愉悅的視頻序列或者有趣的占位圖。自定義加載畫面。盡管標準的活動指示器還不錯,但他們有時會感覺是脫離上下文環(huán)境的。嘗試設計符合你的應用或游戲的自定義動畫和元素,以實現(xiàn)一個更沉浸式的體驗。盡快顯示內(nèi)容。不要讓用戶在看到屏幕畫面前去等待內(nèi)容的加載。立馬顯示屏幕畫面,然后通過占位符、圖片或者動畫明確告知用戶哪個范圍的內(nèi)容還未顯示。當內(nèi)容加載成功之后再把占位元素替代掉??赡軙r,比如當動畫在播放時或是用戶在某個層級或菜單導航時,在后臺預加載接下來要出現(xiàn)的內(nèi)容。了解更多指導,請參閱ProgressIndicators。2.11模態(tài)(Modality)模態(tài)突出焦點,因為用戶只有在完成當前的任務或關(guān)閉一個信息或視圖之后才能去做其它事情。操作列表、警告框和活動視圖都提供了模態(tài)化的體驗。當屏幕上出現(xiàn)一個模態(tài)視圖時,用戶必須采取一個決定(點擊按鈕或是其它)才能退出模態(tài)化體驗。在日歷(Calendar)中編輯事件或是在Safari瀏覽器中選擇書簽都是模態(tài)視圖在應用中被采用的例子。一個模態(tài)視圖可以占據(jù)整個屏幕、整個父視圖(比如浮出層)或者屏幕的一部分。一個模態(tài)視圖一般都含有“完成”和“取消”按鈕來退出視圖。

警告框

模態(tài)視圖

減少模態(tài)的使用。一般來說,用戶更喜歡與應用進行非線性的交互。只在必須要引起用戶注意時、某個任務必須被完成或是確認關(guān)閉時,或保存重要數(shù)據(jù)時才考慮使用模態(tài)視圖。提供一個明顯并可靠的退出模態(tài)任務的方式。確保用戶總是知道他們關(guān)閉一個模態(tài)視圖將導致的結(jié)果。保持模態(tài)任務簡單、簡短并且高度集中。不要在你的應用中創(chuàng)建一另一個應用。如果一個模態(tài)任務太過復雜,用戶在進入模態(tài)視圖時就會看不到視他們本想執(zhí)行的任務。當創(chuàng)建一個包含多層級視圖的模態(tài)任務時請格外謹慎,因為用戶可能會在多個視圖中迷失并不知道如何返回。如果一個模態(tài)任務必須含有次視圖,那么請?zhí)峁﹩渭壍奶D(zhuǎn)路徑以及清楚的完成路徑。除非完成任務否則不要使用標有“完成”的按鈕。如果合適的話,請使用能夠明確說明任務的標題。你也可能在視圖的其它部分提供詳細描述任務的文字或是提供指導。只有在傳達關(guān)鍵以及需要操作的信息時才使用警告框。警告框干擾體驗,并且需要單擊才能關(guān)閉,所以必須要讓用戶認為這個打斷是有理由的。了解更多,請參閱Alerts。尊重用戶的通知偏好設置。在設置里,用戶明確規(guī)定了他們想要如何地接受來自你應用的通知。遵循這些個人偏好,這樣他們就不會想要完全地關(guān)閉來自你應用的通知推送。不要讓模態(tài)視圖蓋在在浮出層上。除了警告框,任何元素都不應該覆蓋在浮出層之上。在極少數(shù)情況下,你需要讓模態(tài)視圖在用戶完成浮出層內(nèi)的任務之后彈出,那么請先關(guān)閉浮出層再展示模態(tài)視圖。讓模態(tài)視圖的視覺風格與你的應用相符。一個模態(tài)視圖可能包含一個導航欄。在這種情況下,請使用與你應用內(nèi)的導航欄一樣的視覺風格。選擇合適的模態(tài)視圖樣式。你可以使用到以下任何一種樣式:選擇一個合適的過渡方式。使用與應用風格相符的過渡方式來加強用戶對當前內(nèi)容轉(zhuǎn)變的認知。默認的過渡方式讓模態(tài)視圖垂直地從屏幕底部向上滑出,然后在被關(guān)閉時下滑。彈出樣式的過渡是指當前視圖水平滑出,顯示出模態(tài)視圖,看起來就好像模態(tài)視圖藏在當前視圖的背后。當模態(tài)視圖被關(guān)閉時,原先的視圖便重新滑回來。在你的應用內(nèi)容部使用統(tǒng)一的模態(tài)過渡方式。了解更多模態(tài)視圖的實現(xiàn)方法,請參閱UIViewControllerClassReference和UIPresentationControllerClassReference。2.12導航(Navigation)用戶往往意識不到一個應用的導航,除非它沒有達到他們的預期。你的工作就是實現(xiàn)一種能夠支持應用結(jié)構(gòu)和目的的導航,并且讓人們注意到到導航的存在。導航應該讓人覺得自然和熟悉,并且不應該主導界面或者搶走內(nèi)容的風頭。在iOS,主要有三種導航結(jié)構(gòu)。分層導航:在每屏都做一次選擇,直到你到達目標位置。要想到達另外的目標位置,你必須原路返回一些層級或是從頭開始重新選擇。原生應用設置(Settings)和郵件(Mail)就是采用這種導航結(jié)構(gòu)。扁平導航:在不同的內(nèi)容類別間切換。原生應用音樂(Music)和AppStore就是采用這種導航結(jié)構(gòu)。內(nèi)容驅(qū)動或是體驗驅(qū)動式導航:在內(nèi)容中自由地轉(zhuǎn)換,或是內(nèi)容定義導航。游戲、閱讀以及其它沉浸式應用一般都采用這種導航結(jié)構(gòu)。有的應用結(jié)合了多種導航形式。比如,采用了扁平導航的應用也可能在每個類別之內(nèi)使用層級導航??偸翘峁┣逦穆窂健S脩魬撘恢敝浪趹玫氖裁次恢靡约叭绾稳ネ乱粋€目標位置。除了要有清楚的導航形式,還應該確保對象間的路徑是合理的、符合預期的并且容追溯的。一般來說,為用戶提供到達某一屏的唯一路徑。如果他們需要在非常多的情景下看到某一屏幕的內(nèi)容,那么考慮采用操作列表、警告框、浮出層或是模態(tài)視圖的形式展示這些內(nèi)容。了解更多內(nèi)容,請參閱ActionSheets,Alerts,Popovers,和Modality。設計一個能夠快速簡單地訪問內(nèi)容的信息結(jié)構(gòu)。合理地組織你的信息結(jié)構(gòu),保證它只用最少次數(shù)的點擊、橫掃和屏幕間跳轉(zhuǎn)就能訪問相應的內(nèi)容。使用觸摸手勢來制造流暢感。讓用戶能輕松地在界面內(nèi)跳轉(zhuǎn),而感受不到阻力。比如,你可以讓用戶在屏幕邊界右滑,而返回到上一屏。使用標準的導航組件??赡軙r,使用標準的導航控件比如頁面控件、標簽欄、分段控件、表格視圖、集合視圖和拆分視圖。用戶已經(jīng)熟悉了這些控件,他們很自然地就知道如何玩轉(zhuǎn)你的應用。使用導航欄訪問分層內(nèi)容。導航欄內(nèi)的標題欄能夠說明當前的層級位置,使用返回按鈕能夠輕易地回到上一個位置。了解更多指導,請參閱NavigationBars。使用標簽欄來展示內(nèi)容或功能相似的類別。標簽欄讓用戶能夠快速簡單地在類別中切換自如,而不受當前位置的限制。了解更多指導,請參閱TabBars。使用多頁面展示同類型的內(nèi)容時請使用頁面控件。頁面控件能夠清楚地表示總頁數(shù),以及當前頁的位置。天氣(Weather)應用就使用了頁面控件來表示不同地理位置的天氣頁面。了解更多指導,請參閱PageControls。TIP分段控件和工具欄不具備導航功能。使用分段控件能夠組織信息放入不同的類別。使用工具欄為當前內(nèi)容提供交互控件。了解這些元素的更多信息,請參閱SegmentedControls和Toolbars。2.13請求許可(RequestingPermission)用戶必須對應用予以授權(quán),應用才能獲取用戶的個人信息,比如當前位置、日歷、聯(lián)系人信息、提醒事項以及照片。雖然用戶在使用獲得這些信息的應用時會感到方便,但是他們還是希望能夠控制自己的私人數(shù)據(jù)。比如,用戶希望為他們的照片自動標上當前的地理位置,或是尋找附近的朋友,但是他們又同時希望能有關(guān)閉這些功能的選項。只在應用真的需要時才向用戶請求獲得個人數(shù)據(jù)。用戶會質(zhì)疑個人信息的請求是很自然的,尤其是他們發(fā)現(xiàn)當前的請求沒有明顯的必要時。確保允許請求只在用戶真的在使用某些需要個人數(shù)據(jù)的功能時才出現(xiàn)。比如,一個應用只有在激活一個位置跟蹤的功能時才請求獲得當前的位置。當需求不明顯時向用戶解釋為什么你的應用需要這些信息。你可以在系統(tǒng)提供的允許請求警告框上添加自定義的文本。使用明確且有禮貌的文本,這樣用戶就不會感到有壓力。使用簡短文本,并且使用句子。沒有必要包含你的應用名字。系統(tǒng)已經(jīng)替你在警告框上說明了應用的名字。在應用一啟動時就請求允許那些對運行你的應用至關(guān)重要的信息。如果用戶明確地知道你的應用只有獲得這些個人信息才能運行,那么他們就不會反感。不必要時不要請求位置信息。在獲得位置信息之前,檢查系統(tǒng)以查看位置服務是否已經(jīng)被打開。使用這個知識,可以延遲提醒,直到使用需要該信息的功能時才進行提醒,甚至可能完全避免提醒。學習如何實現(xiàn)定位功能,請參閱LocationandMapsProgrammingGuide。2.14設置(Settings)有一部分的應用可能需要一開始就讓用戶決定設置或布局選項,但是大部分應用避免或是延遲這么做。成功的應用能夠一開始就讓用戶很好地使用,并且同時提供了一個便捷的途徑去調(diào)整體驗。當你的應用被設計成滿足大部分用戶的需求,你就可以減少他們對對設置的需要。推斷你可以從系統(tǒng)中得到什么。如果你需要關(guān)于用戶、設備或是環(huán)境的信息,那么盡可能地向系統(tǒng)請求而不是直接詢問用戶。比如,如果你想要知道用戶的郵編來提供本地的選項時,可以向用戶請求獲取他們的當前位置。在你的應用中對配置選項的優(yōu)先排序深思熟慮。應用的主屏是一個放置關(guān)鍵或是常用選項的絕佳位置。次屏則適合放置只偶爾才更改的選項。把不經(jīng)常更改的配置選項放到系統(tǒng)設置里。系統(tǒng)的設置(Settings)應用是更改系統(tǒng)配置的核心地帶,但是用戶必須離開的應用才能到達那里。因此在你的應用中直接調(diào)節(jié)設置更加方便。如果你的應用必須提供很少改動的設置選項,請參閱PreferencesandSettingsProgrammingGuide中的ImplementinganiOSSettingsBundle部分。適當時提供去設置的快捷路徑。如果你的應用包含引導用戶去設置的文本,比如“去設置>我的應用>隱私>定位服務”,請?zhí)峁┮粋€能夠自動打開該界面的按鈕。了解如果實現(xiàn)這個行為,請參閱UIApplicationClassReference中的SettingsLaunchURL部分。2.15用辭(Terminology)每一個在應用中的文字都是與用戶對話的一部分。利用好這個對方讓用戶在你的應用中感到自在舒適。使用熟悉易懂的單詞和短語??萍伎梢宰屓烁械胶ε?。避免使用用戶可能不理解的或是技術(shù)術(shù)語。根據(jù)你對用戶的了解來決定哪些單詞和短語是合適的??偟膩碚f,能夠吸引每個人的應用是不應包含深奧的技術(shù)語言的。這類語言比較適合針對高端或是技術(shù)用戶的應用。保持界面文本的清晰和簡潔。用戶能夠快速且輕易地理解短而直接的文本,他們不喜歡在完成任務時被強迫去閱讀很長的文本。找到最重要的信息,簡潔地陳述它,然后突出地展示它,這樣用戶就不需要為了知道他們在找什么或是下一步該做什么而閱讀太多信息。避免使用讓人聽起來很傲慢的語言。避免使用“我們”,“我們的”和“我的”(比如“我們的教程”和“我的鍛煉”)等字段。他們有時候被理解為無禮或是傲慢的。盡量使用日常且友好的語氣。一個日常親近的風格就類似你在和別人吃午飯時聊天的語氣。偶爾使用簡寫,并使用“你”和“你的”來直接與用戶對話。請謹慎使用幽默。記得用戶可能會多次閱讀你界面上的文字,而那些第一次看起來很俏皮的文字可能在多看幾次之后會顯得惱人。同樣記住在一種文化中的幽默方式可能并不適用于其它文化。使用相關(guān)且一致的語言和圖像。確保引導在當前環(huán)境中總是合適的。如果某人在使用iPad,那么久不要給他展示與iPhone相關(guān)的文字和圖片。根據(jù)平臺選擇使用相符的語言。你在觸摸屏上點擊、滑動、橫掃、捏合或者拖曳對象。你按壓物理按鈕,或者按壓對3D觸摸作出反應的對象。你旋轉(zhuǎn)和搖晃設備。提供精確的日期。使用今天、明天這類友好的詞語是合理的,但是如果你沒有詳細說明當前的位置,那么這些詞語就會令人困惑或是顯得不夠精確。請考慮一個在午夜12點前發(fā)生的事件。在某個時區(qū),這個事件可能發(fā)生在今天。但是在另一個時區(qū),同樣的事件可能在昨天就已經(jīng)發(fā)生了??偠灾掌趹擉w現(xiàn)出正在查看事件的用戶所在的時區(qū)。然而,在某些情況下,比如一個跟蹤航班狀態(tài)的應用內(nèi),明確地顯示起飛地區(qū)的日期和時區(qū)才更加清楚。恰當?shù)刂赋隹山换サ脑亍S脩魬撈骋谎劬湍苤肋@個元素是什么用的。當給按鈕或是其它可交互元素標記時,使用操作動詞,比如連接、發(fā)送和添加。2.16撤銷和重做(UndoandRedo)很多的應用都允許用戶通過搖晃設備來撤銷或是重做某個操作,比如打字或是刪除。當該撤銷和重做通過搖晃被觸發(fā)時,會出現(xiàn)一個提示框,詢問用戶是要撤銷(重做)操作還是什么都不執(zhí)行。簡明扼要地描述將要被撤銷或是重做的操作。撤銷和重做的提示框標題會自動地包含“撤銷”或是“重做”這樣的前綴(以及后面的空格)。你需要在前綴后面提供額外的一兩個詞語用來形容什么會被撤銷或是重做。比如,你可以創(chuàng)建一個提示框標題叫做“撤銷命名”或者“重做地址更改”。如果你已經(jīng)把搖晃手勢用來撤銷和重做,那么就不要把它用于其它操作。即使你能通過編程賦予搖晃手勢不同的意義,但同時你也冒著很大的風險使用戶困惑,并讓你的應用變得不可預知。節(jié)制地使用撤銷和重做按鈕。如果在應用中為執(zhí)行相同任務提供多種途徑便會讓人困惑。如果你的應用真的需要專門的撤銷和重做按鈕,那么請使用系統(tǒng)提供的標準按鈕并且把它們放在一個符合預期的位置,比如導航欄。只在當前情境中執(zhí)行撤銷和重做操作。撤銷和重做必須對當前的(而非之前的)情境有明確直接的影響。了解更多實現(xiàn)方法,請參閱UndoArchitecture。3.特性(Features)3.1多任務處理(Multitasking)多任務處理讓你能夠通過iOS設備上的多任務處理界面或是在iPad上使用四指手勢,隨時且快速地從一個應用切換至另一個。在iPad,多任務處理也能夠讓你在SlideOver,分屏視圖(SplitView)或者畫中畫(PictureinPicture)模式下同時使用兩個app。從屏幕右側(cè)橫掃就能進入SlideOver模式,它能讓你在不離開當前app的情況下暫時性地使用第二個app,比如在你使用Safari瀏覽器的時候快速地查看你的郵箱。分屏視圖讓你同時地使用兩個并排的app,而畫中畫讓你在一個app工作時也能觀看視頻。設計一個能在多任務處理環(huán)境下從容工作的app取決于你的app是否能夠和諧地于其它應用在設備上共處。也就是說,你的app不應該使用過多的CPU、存儲空間、屏幕空間或是其它系統(tǒng)資源。它應該合理應對來自其它app的突發(fā)干擾和聲音,快速流暢地隱去后臺或是從后臺中被呼出,并且即使在后臺也能可靠地運行。準備好應對中斷,并且準備好隨時恢復。你的app在任何時候都可能被中斷。當中斷發(fā)生時,你的app應該快速精準地保存當前的狀態(tài),這樣用戶返回app時,就能完美無縫地從他們上次離開的地方繼續(xù)使用。了解更多開發(fā)細節(jié),請參閱AppProgrammingGuideforiOS中的PreservingYourApp’sVisualAppearanceAcrossLaunches部分。確保你的界面能夠與雙倍高度的狀態(tài)欄(double-highstatusbar)共處。一些比如進行中的通話、錄音和共享功能會在屏幕頂部展示額外的一個狀態(tài)欄。在對此無準備的app中,這個增加的高度會遮擋其它的界面元素或是把它們擠下去,從而導致布局問題。在你的app中測試這些情況以保證你的界面能夠應對自如并且仍然看起來很棒。暫停需要時時關(guān)注或是用戶參與的活動。如果你的app是一個游戲或是觀看媒體文件,請保證用戶在切換至其它app時也不會錯過任何內(nèi)容。當他們切換回來時,讓他們從上一次離開的地方繼續(xù)就好像他們從未離開過。恰當?shù)靥幚韥碜詰猛獾穆曇?。有時候,你的app的音頻可能會被來自其它app或是系統(tǒng)的聲音打斷。比如,來電鈴聲或是被Siri打開的音樂播放列表會中斷你的app的音頻。當這種情況發(fā)生時,你的app應該以符合用戶預期的方式處理。對于重要的音頻干擾,比如播放音樂、廣播或是有聲讀物,你的app應該停止播放它自己的音頻。對于短暫的干擾,比如GPS導航通知,你的app應該暫時地降低它的音頻音量或是先暫停音頻然后在干擾結(jié)束時繼續(xù)播放。了解更多指導,請參閱Audio。在后臺完成用戶發(fā)起的任務。當用戶開啟了一個任務,即使離開了app他們也希望任務能夠被完成。如果你的app正在執(zhí)行一個不需要額外用戶輸入的任務,請在app回到前臺前在后臺完成它。節(jié)制地使用通知。無論你的app在前臺、后臺或是完全沒有被打開,它都能在特定的時間給用戶推送通知。使用通知來傳達重要訊息是可行的,但是避免讓用戶被過多通知煩擾。比如,當你的app在后臺時,不要每完成一個任務就給用戶展示一個通知。相反的,讓用戶通過返回你的app來查看任務的完成情況。了解更多指導,請參閱Notifications。了解關(guān)于iPad的開發(fā)細節(jié),請參閱AdoptingMultitaskingEnhancementsoniPad。3.2通知(Notification)無論設備被鎖屏還是在使用中,app都能隨時利用通知來提供及時和重要的信息。比如,通知可能會在以下幾種情況出現(xiàn):當新消息到來時一個事件將要發(fā)生時有新數(shù)據(jù)可獲取時或是某些狀態(tài)發(fā)生改變時用戶在鎖屏上、在屏幕頂部(使用設備時),以及通知中心(通過從屏幕頂部邊緣下滑呼出)看到通知欄。每個通知都包含應用名稱、一個app圖標以及一條消息。通知的到來也可能伴隨聲音提示,以及app圖標上小紅點角標的出現(xiàn)和更新。每個app的通知行為都可以在設置里面被單獨管理。只要是支持通知功能的app,你有可以完全地打開或關(guān)閉這個功能。你同樣可以設置通知是否在通知中心和鎖屏上可見,是否在app圖標上出現(xiàn)角標,以及選擇以下一種通知樣式:橫幅:當設備在使用時在屏幕上方出現(xiàn)幾秒,然后消失。提醒框:當設備在使用時在屏幕上方出現(xiàn),直到被手動關(guān)閉。在未鎖屏的設備上通過點擊通知、或是在鎖屏時右滑,來結(jié)束通知、把它從通知中心移除并打開發(fā)送通知的應用展示相關(guān)的內(nèi)容。比如,在未鎖屏的設備點擊一條新的郵件通知,就會打開郵箱并且顯示新的信息。在一個未鎖屏的設備,上滑通知或讓它消失能夠關(guān)閉通知,也可能將它從通知中心移除。使用3DTouch在一個通知上按壓,或時在未鎖屏時在通知上下滑,就能打開拓展的詳情視圖。這個視圖支持自定義并且包含最多四個操作按鈕。比如,一個待辦事項app可以推送一個含有詳情視圖的任務通知,上面有可以推遲任務和標記為已完成的按鈕。一個日歷事件的通知提供了“小睡”操作來推遲事件的鬧鈴。Tips:通知可以是本地或是遠程的。本地通知由同一個設備發(fā)出和接收。一個待辦事項應用就使用本地通知來提醒用戶一個將要到來的會議或是到期日。遠程通知,也叫做推送通知,來自一個服務器。一個多玩家游戲就使用遠程通知讓每個玩家知道什么時候輪到他們了。用戶必須明確通過選擇來接收來自每個app的通知——他們在第一次使用app的時候都被要求這么做。如果有人選擇不接收通知,他們同樣也能通過訪問設置來選擇接收。提供有用的通知。用戶打開通知是為了快速獲得最新消息,所以你的重點是提供有價值的信息。使用完整的句子,句首字母大寫,合適的標點符號,并且不要截短你的信息——必要時系統(tǒng)會自動處理。避免在通知中引導用戶打開你的app,進入指定頁面然后點擊指定按鈕來完成一些任務,因為當通知被關(guān)閉時用戶很難記住它們。就算用戶沒有作出回應,也不要為同一件事情發(fā)送多個通知。用戶只有在方便時才會理會通知。如果你為同一件事發(fā)送了多個通知,并且填滿了通知中心,那么用戶就很可能關(guān)閉來自你app的通知。不要包含你的app名字和圖標。系統(tǒng)會自動地在每條通知的頂部顯示這些信息。角標是用來補充說明通知,而不能表示重要的信息。記住app的角標可以被關(guān)閉。如果你的app依賴于通過角標來傳達重要信息,就等于你在冒著用戶會錯過這些信息的風險。保持角標實時更新。當收到對應的消息時立即更新你的app角標數(shù)字。你也不想讓用戶猜測是否收到了新消息,他們只有在看到確切提示之后才會進入你的app查看。請注意將角標上的數(shù)字清零意味著同時在消息中心移除所有相關(guān)的通知欄。提供聲音以輔助你的通知提醒。當用戶沒有盯著屏幕時,聲音是一個引起他們注意的絕佳方式。一個待辦事項app,在需執(zhí)行重要任務時可能就會播放一個提示音。你的app可以使用自定義聲音或是系統(tǒng)的提示音來達到效果。如果你使用自定義的聲音,請確保它是簡短、與眾不同并且制作精良的。請參閱LocalandRemoteNotificationProgrammingGuide中的PreparingCustomAlertSounds部分。請記住用戶可以隨時地關(guān)閉通知提示音。他們也可以開啟伴隨著聲音的振動——這只能被手動開啟,而不能通過你的app程序來關(guān)閉??紤]提供一個詳情視圖。一個通知的詳情視圖提供了關(guān)于該消息的更多信息,并且允許他們在不離開當前環(huán)境的情況下去執(zhí)行快速的操作。這個視圖應該包含有用、易識別的信息,讓人感覺就是一個你的app自帶的插件。它可以包含圖片、視頻以及其它內(nèi)容,它還能在顯示時動態(tài)更新。比如,一個拼車app就能夠在該視圖展示一個地圖,并標出正在朝著你的位置行駛的汽車位置。提供直觀、有用的操作。一個通知的詳情視圖能最多包含四個操作按鈕。這些按鈕應該用來執(zhí)行常用、省時的任務,而不用通過打開你的app。使用簡短、首字母大小寫的名稱,明確地描述操作的結(jié)果。一個通知的詳情視圖還能在屏幕上呼出一個鍵盤用來收集執(zhí)行操作需要的信息。比如,一個通訊app可以允許用戶直接在新消息通知上回復。避免展示破壞性的操作。要在通知詳情視圖里展示破壞性操作之前請仔細考量。如果你必須展示它們,確保用戶擁有足夠的上下文信息,以避免出現(xiàn)意外后果。破壞性的操作應該以紅字呈現(xiàn)。了解更多開發(fā)細節(jié),請參閱LocalandRemoteNotificationProgrammingGuide。3.3打?。≒rinting)你的app能夠利用系統(tǒng)自帶的AirPrint技術(shù)來使用兼容的打印機實現(xiàn)圖片、PDF以及其它內(nèi)容的無線打印。當用戶在有AirPrint功能的應用內(nèi)瀏覽可打印的內(nèi)容時,他們一般通過在導航欄或是工具欄點擊一個操作按鈕,然后再點擊打印按鈕來打開打印視圖。這個視圖提供了一個可用打印機的列表以及一些自定義選項,比如打印的份數(shù)、頁面范圍,并且提供了一個開始打印的的按鈕。讓打印選項易于發(fā)現(xiàn)。如果你的app有一個工具欄或是導航欄,請使用系統(tǒng)提供的操作按鈕來打印。用戶對這個按鈕更加熟悉,并且在其它應用中也是用它來打印。如果你的app沒有工具欄或是導航欄,那么設計一個自定義的打印按鈕來代替。只在可以打印的情況下才允許打印。如果在你的屏幕上沒有任何內(nèi)容或是沒有可用的打印機,那么不要在用戶點擊“操作”按鈕后顯示打印按鈕。如果你的app使用自定義的打印按鈕,在無法打印時讓其不可點擊或是隱藏。提供有價值的打印選項。想想用戶在打印來你的內(nèi)容時會想要指定哪些選項。考慮可以選擇頁面范圍和打印份數(shù)的選項。啟用附加的選項,比如雙面打印,如果這樣有意義并且打印機也支持的話。了解更多開發(fā)細節(jié),請參閱DrawingandPrintingGuideforiOS

和UIPrintInteractionControllerClassReference。3.4快速查看(QuickLook)在你的app中,快速查看讓用戶能夠預覽Keynote,、Numbers、Pages、PDF文檔、圖片以及其它類型的文件(即使你的應用并不支持這些文件格式)。郵件(Mail)使用QuickLook來查看附件。在下載附件之后,Mail在郵件信息內(nèi)顯示附件的圖標和文件名。點擊圖標就能預覽附件。在當前環(huán)境下合理地展現(xiàn)預覽視圖。在iPhone上,如果你的app有導航欄,讓預覽視圖下移留出位置給導航欄,就和你的app其它層級的視圖一樣。在iPad或是沒有導航欄的app內(nèi),在一個全屏的有導航欄的模態(tài)視圖中打開預覽視圖。通過以上兩種方法,導航欄就能提供退出QuickLook的按鈕,以及預覽特有的一些按鈕,比如分享和標記。如果你的app包含一個工具欄,那么預覽特有的按鈕就會在工具欄出現(xiàn)而不是導航欄。了解更多開發(fā)細節(jié),請參閱DocumentInteractionProgrammingTopicsforiOS和QuickLookFrameworkReferenceforiOS。3.5

Siri你的app可以與Siri聯(lián)動來執(zhí)行一些任務以應對來自用戶的語音命令和問題。音頻和視頻通話應用:撥打電話和查找通話記錄消息應用:發(fā)送消息和閱讀收到的消息提供支付服務的應用:發(fā)送和請求支付管理圖片的應用:查找和顯示圖片提供交通服務的應用:預定行程和提供行程狀態(tài)信息提供健身活動的應用:開始、暫停、恢復、結(jié)束和取消鍛煉與CarPlay聯(lián)動的車載軟件:更改車上的音頻源、溫控系統(tǒng)、除霜設置、座椅溫度和無線電臺Siri負責語言處理和語義分析來把語音請求轉(zhuǎn)換成你的app能夠處理的操作指令。你的app應該負責定義它所支持的功能、驗證收到的信息、為Siri提供它需展示的信息以及采取操作。在驗證信息的時候,如果某些信息丟失或是不明確,你的app可以指示Siri來展示選項,向用戶請求確認,或是請求更多信息。按照Siri的邏輯,某些任務比如發(fā)送信息和支付,在app執(zhí)行任務之前首先需要用戶確認。來自你的app的回應信息會由Siri說出來并且呈現(xiàn)在Siri界面。合適的話,你的app可以提供自定義的內(nèi)容讓Siri來展現(xiàn)。比如一個健身app,可能會提供自定義的鍛煉信息。力求一個無需觸屏或注視屏幕的聲控體驗。用戶在使用Siri時不會經(jīng)常盯著屏幕看。他們可能會通過耳機、汽車或是穿過房間來與Siri互動。盡可能地,讓用戶在無需解鎖屏幕的情況下也能完成任務??焖賾鸩⑶覝p少交互操作。用戶使用Siri是為了方便,所以不要讓他們等待回應。你的app應該在收到請求之后盡快地驗證信息以及采取操作。當需要說明和更多信息時,呈現(xiàn)高效且集中的選項以降低需要額外提示的可能性。將用戶直接帶到指定內(nèi)容。從Sir轉(zhuǎn)換你的app,應該直接去往用戶期望的目的地。不要顯示中間畫面或是信息,阻礙轉(zhuǎn)換過程或是拖慢用戶。保證是相關(guān)的、精確的以及合適的。你的app的回應必須和當前的請求相關(guān)而且必須精確地反映用戶期望。永遠不要包含可能會被認為是冒犯或是侮辱人格的內(nèi)容。將最安全、價格最低的選項設為默認值。一個應答無論如何都不應該騙人或歪曲信息,尤其是當它會帶來經(jīng)濟上的影響時。對于一次涉及不同價位的購買,不要默認選擇最貴的。當用戶決定付錢時,不要在不告知用戶的情況下收取額外的費用。提升自定義詞庫的準確性。通過定義那些用戶可能會在請求時用到的特殊術(shù)語,比如聯(lián)系人、照片標簽、相冊名字、路線選擇和運動名稱,你的app能夠幫助Siri去了解更多與執(zhí)行你應用操作有關(guān)的內(nèi)容。這些術(shù)語必須在你的app中是非一般的、特殊的,并且用戶可能會在發(fā)起請求時真正用到。這些你提供的詞匯不能包含其它應用的名字、與其它app明顯相關(guān)的術(shù)語、不合適的語言或是被系統(tǒng)占用的短語,比如“HeySiri”。記住任何你定義的術(shù)語都會被Siri用來解決用戶請求,但是并不保證一定能夠被識別。提供請求例句。為Siri提供例句,當用戶點擊Siri界面的幫助按鈕時這些例句就會被展現(xiàn)在指南里。使用這些例句引導用戶如何以最簡單高效的方式通過Siri來使用你的app。確保你的自定義界面與Siri很好的融合。你可以使用app特有的顏色、象征性圖像或是其它設計元素來表達品牌風格,但是任何自定義界面元素必須讓人感覺它們?nèi)匀贿m合于Siri界面。不要在自定義界面包含你的app名字和圖標。系統(tǒng)會自動展示這些信息。不要打廣告。屬于你應用的Siri體驗永遠都不能包含廣告、營銷或是app內(nèi)購買的推銷。不要試圖模仿或是操控Siri。你的應用永遠都不能模仿Siri,也不能試圖復制由Siri提供的功能,或是提供一個來自于Apple公司的應答。了解更多開發(fā)細節(jié),請參閱SiriKitProgrammingGuide。4.視覺設計(VisualDesign)4.1動畫(Animation)貫穿于iOS系統(tǒng)的優(yōu)美、精細的動畫在用戶和屏幕屏幕內(nèi)容之間建立了一種視覺上的聯(lián)系。當動畫被合理利用時,它能夠表達狀態(tài)、提供反饋、加強直接操縱感,并且視覺化呈現(xiàn)用戶的操作結(jié)果。明智且審慎地使用動畫和動效。不要為了使用動畫而使用動畫。過度或是無理由的動畫會讓用戶感到不連貫或是錯亂,尤其是在那些不能提供沉浸式體驗的app中。iOS經(jīng)常使用動效,比如在主屏和其它地方使用了視差效果,來建立用戶對深度的認知。這些效果有助于增強理解和提升愉悅感,但是濫用它們就會讓一個app變得令人困惑并且難以控制。如果你想使用動效,一定要進行用戶測試以保證它們真的能完成使命。使用連貫的動畫。一個熟悉并流暢的體驗能一直讓用戶參與其中。用戶已經(jīng)習慣了貫穿于iOS系統(tǒng)的精細動畫,比如平穩(wěn)的過渡、橫豎屏之間的流暢轉(zhuǎn)換和基于物理現(xiàn)實的滾動。除非你在創(chuàng)造一個沉浸式體驗,比如游戲,不然自定義動畫都應該和系統(tǒng)自動地動畫相符。力求真實性和可信性。用戶可以接受藝

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論