總體美感體如今⼀款App的視覺外觀、交互行爲與其功能結合的優異程度。
例如,一款協助用戶完成重要任務的App應該使用不易察覺且不會形成干擾的圖形、標準化控件和可預知的交互行爲,從而使用戶聚焦在任務自己。 反之,一款沉浸式體驗的App(如遊戲),須要提供一個有吸引力的界面,在鼓勵用戶探索的同時爲用戶帶來無窮的樂趣和激動。前端
一致的應用程序經過使用系統提供的界面元素,衆所周知的圖標,標準文本樣式和統一術語來實現熟悉的標準和範例。該應用程序以人們指望的方式結合了功能和行爲。ios
屏幕內容的直接操做吸引人們並促進理解。用戶在旋轉設備或使用手勢影響屏幕內容時會遇到直接操做。經過直接操縱,他們能夠看到他們行動的直接,明顯的結果。編程
反饋可以響應交互操做,呈現結果,便於用戶了解狀況。系統自帶的iOS的App對用戶的每一個操做都提供了明確的反饋。安全
當一個 App 的虛擬對象和行爲與用戶所熟悉的體驗類似時——不管這種體驗來源於現實⽣生活亦或是數字世界,用戶就可以更快速地學會使用這款App。 隱喻在 iOS 中可以起⽤用是由於用戶與屏幕在進行物理上的交互。服務器
在 iOS 中,用戶是決策者,而不是App。App能夠對用戶行爲提出建議,對可能形成嚴重後果的行爲發出警告,但不應該直接替⽤用戶作決策。優秀的 App在用戶主導和避免不想要的結果之間找到平衡。爲了讓用戶擁有掌控性,App可使用戶熟悉且可預知的交互元素,讓用戶二次確認破壞性的行爲, 而且保證能夠中止正在執行中的操做。架構
iOS爲視力喪失,聽力喪失和其餘殘疾的用戶提供普遍的輔助功能。
爲圖像,圖標和界⾯面元素提供替代文本標籤。 替代文字標籤在屏幕上不可見,但它們讓VoiceOver可聽見地描述屏幕上的內容,使視力障礙人士更容易導航。
響應可訪問性首選項。 若是您的應用程序使用UIKit實現其用戶界面,則文本和界面元素會自動適應某些可訪問性首選項,例如粗體和大文本。您的應用還應在適當時檢查並響應輔助功能首選項,例如啓用減小運動的選項時。實現自定義字體的應用程序應嘗試匹配系統字體的可訪問性行爲。
使用輔助功能測試您的應用。 除了文本和動做更改外,輔助功能選項還能夠更改對比度,反轉顏色,下降透明度等。啓用這些設置並觀察您的應用在啓用這些功能的用戶中的外觀和行爲方式。
包括隱藏式字幕和音頻說明。 隱藏式字幕容許聾人和聽力障礙者在視頻中感知口頭對話和其餘可聽內容。音頻描述爲視障人士提供重要視頻內容的口頭敘述。
使用足夠的顏色對比度。 您的應用中對比度不足會讓每一個人都難以閱讀內容。例如,圖標和文本可能與背景混合在一塊兒。在線顏色對比度計算器可幫助您準確分析應用中的顏色對比度,以確保其符合最佳標準。力爭最小對比度爲4.5:1,儘管7:1是首選,由於它符合更嚴格的可訪問性標準。有關其餘設計指南,請參閱顏色。app
當內容加載時,空白或靜態屏幕可能會使您的應用程序被凍結,從而致使混淆和沮喪,並可能致使人們離開您的應用。
在加載發生時明確說明。 至少,顯示一個活動微調器,表示正在發生的事情。更好的是,顯示明確的進度,以便用戶能夠判斷他們將等待多長時間。 儘快顯示內容。在看到他們指望的屏幕以前,不要讓人們等待內容加載。當即顯示屏幕,並使用佔位符文本,圖形或動畫來肯定內容尚不可用的位置。在內容加載時替換這些佔位符元素。儘量在後臺預加載即將播放的內容,例如在播放動畫或用戶正在導航關卡或菜單時。
教育或娛樂人們掩蓋裝載時間。 考慮顯示有關遊戲玩法,娛樂視頻序列列或有趣的佔位符圖形的提示。
自定義加載屏幕: 雖然標準的進度指標一般是正常的,但它們有時會感受脫離背景。考慮經過自定義動畫和與您的應用或遊戲風格相匹配的元素來設計更加身臨其境的體驗。有關其餘指導,請參閱進度指示器。iphone
模態經過阻止人們在完成任務或關閉消息或視圖以前作其餘事情來建立焦點。
盡量減小使用模態。 一般,人們更喜歡以非線性方式與應用互動。考慮建立模態上下文時,只有在得到某人的注意力,必須完成或放棄任務以繼續使用該應用程序或保存重要數據時,才能建立模態上下文。
提供一種明顯且安全的退出模態任務的方法。 確保人們在解僱模態視圖時始終知道他們行動的結果。
保持模態任務簡單,簡短,重點突出。 不要在您的應用中建立應用。 若是模態任務過於複雜,人們可能會在進入模態上下文時忽略他們暫停的任務。特別警戒建立涉及視圖層次結構的模態任務,由於用戶可能迷路並忘記如何回溯他們的步驟。若是模態任務必須包含子視圖,請提供層次結構中的單個路路徑以及完成的明確路徑。避免使用「完成」按鈕執行除完成任務以外的其餘操做。
若是適用,顯示標識任務的標題。 您還能夠在視圖的其餘部分中提供更全面描述任務或提供指導的文本。
保留提供必要且理想的可操做信息的警報。 警報會中斷體驗並須要點擊才能解除,所以人們必須認爲入侵是有道理的。要了解更多信息,請參閱警報。
尊重通知首選項。 在「設置」中,用戶能夠指定他們但願如何從您的應用接收通知。遵照這些首選項,以便他們不會徹底關閉您應用的通知。
不要在彈出框上⽅方顯示模態視圖。 除了警報以外,彈出窗口上不應出現任何內容。在極少數狀況下,若是須要在彈出框中執行操做後顯示模態視圖,請在顯 示模態視圖以前關閉彈出窗口。
使用您的應用協調模態視圖外觀。 例如,模態視圖能夠包括導航欄。在這種狀況下,請使用與應用程序中導航欄相同的外觀。
選擇合適的模態視圖樣式。 您可使用如下任何一種樣式: 佈局
人們每每不不知道應用程序的導航,直到它不符合他們的指望。您的工做是以支持應⽤程序結構和目的的⽅方式實現導航,而無需關注自身。導航應該感受天然和熟悉,而且不應該主導界面或將焦點從內容中拉開。在iOS中,有三種主要的導航樣式。學習
有些應用程序結合了多種導航。例如,使用平面導航的應用能夠在每一個類別中實現分層導航。
始終提供清晰的路徑。 人們應該始終知道他們在您的應用中的位置以及如何到達下一個目的地。不管導航風格如何,經過內容的路徑都是合乎邏輯的,可預測的而且易於遵循。通常來講,給人們一個通往每一個屏幕的路徑。若是他們須要在多個上下文中查看屏幕,請考慮使用操做表,警報,彈出窗口或模態視圖。
設計⼀種信息結構,使其快速輕鬆地獲取內容。 以須要最少數量的點擊,滑動和屏幕的⽅方式組織您的信息結構。
使用觸摸⼿手勢建立流動性。 使用最小的摩擦力輕鬆移動界面。例如,您可讓人們從屏幕側⾯面滑動以返回上一個屏幕。 使用標準導航組件。 儘量使用標準導航控件,例如頁面控件,選項卡欄,分段控件,表視圖,集合視圖和拆分視圖。用戶已經熟悉這些控件,而且會直觀地了解如何繞過您的應用。
使⽤用導航欄遍歷數據層次結構。 導航欄的標題能夠顯示層次結構中的當前位置,後退按鈕能夠輕鬆返回上⼀個位置。 使用選項卡欄顯示對等類別的內容或功能。 標籤欄可以讓人們快速輕鬆地在不同類別之間切換,不管當前位置如何。 當您有多個相同類型內容的頁面時,請使用頁面控件。 頁面控件清楚地傳達可用頁面數和當前活動頁面數。Weather應用程序使用頁面控件來顯示特定於位置的天氣頁面。
提供啓動屏幕。 應用程序啓動時會出現啓動屏幕,從而給人的印象是應用程序快速響應,同時容許加載初始內容。此屏幕很快就會被您應用的第一個屏幕取代,所以除了可本地化的文本和交互元素外,它應該與此屏幕很是類似。要了解更多信息,請參閱啓動屏幕。
以適當的方向發射。 若是您的應用支持縱向和橫向模式,則應使用設備的當前方向啓動。若是您的應用僅在一個方向上運行,則應始終以該方向啓動,並讓人們在必要時輪換設備。除非有使人信服的理由,不然橫向模式的應用程序應正肯定位,不管設備是向左仍是向右旋轉。有關其餘指導,請參閱適應性和佈局。
迅速採起行動。 避免顯示啓動畫面,菜單和說明,這樣會縮短內容並開始使用您的應用。相反,讓人們潛入。若是您的應用須要教程或介紹序列,請提供一種跳過它們的方法,而不是向返回的用戶顯示它們。
預計須要幫助。 積極尋找人們可能被卡住的時間。例如,遊戲能夠在暫停或角色沒有前進時隨便顯示有用的提示。讓用戶重播教程,以防他們第一次錯過任何內容。
** 堅持教程中的要點。** 爲初學者提供指導是好的,但教育並不能代替優秀的應用程序設計。首先,讓您的應用程序直觀。若是須要太多指導,請從新訪問您的應用程序的設計。
讓學習變得有趣和可被發現。 邊作邊學比閱讀指令清單更有趣,更有效。使用動畫和交互性逐步和上下文教學。避免顯示看似互動的屏幕截圖。
避免事先詢問設置信息。 人們但願應用可以正常運做。爲大多數人設計您的應用程序,讓少數想要不同配置的應用程序調整設置以知足他們的需求。儘量從設備設置和默認值或經過同步服務(如iCloud)派生設置信息。若是您必須詢問設置信息,請在第⼀次在應⽤用內提示,並讓用戶稍後在您應用的設置中進行修改。
避免顯示應用內許可協議和免責聲明。 在App下載以前,讓App Store顯示協議和免責聲明。若是您必須在應用程序中包含這些項目,請以平衡的方式集成它們,而不會破壞用戶體驗。 當您的應用從新啓動時,恢復之前的狀態。不要讓人們回溯到您應用中的先前位置。保留並恢復應用的狀態,以便他們能夠在中斷的位置繼續操做。
不要讓人們過快或過於頻繁地爲您的應用評分。 過快或過於頻繁地要求評級是使人討厭的,而且會減小您收到的有用反饋的數量。爲了⿎鼓勵考慮周全的反饋,在要求評級以前,讓人們有時間對您的應用發表意見。始終提供退出評級提示的方法,而且永遠不要強迫用戶爲您的應用評分。
不要⿎鼓勵重啓。 從新啓動須要花費時間,使您的應用程序看起來不可靠且難以使用。若是您的應用程序有內存或其餘問題致使難以運行,除非系統剛啓動,您須要解決這些問題。
用戶必須授予應用訪問我的信息的權限,包括當前位置,日曆,聯繫信息,提醒和照片。雖然人們很欣賞使用能夠訪問此信息的應⽤用程序的便利性,但他們也但願可以控制其私有數據。例如,人們喜歡可以使用本身的實際位置自動標記照片或找到附近的朋友,但他們也但願選擇禁用此類功能。
僅在您的應用明確須要時纔會請求我的數據。 對我的信息的請求持懷疑態度是很天然的,特別是在沒有明顯須要的狀況下。確保僅在人們使用明確須要我的數據的功能時纔會發出權限請求。例如,應用可能僅在激活位置跟蹤功能時請求訪問當前位置。
解釋您的應⽤用須要信息的緣由。 提供自定義文本(稱爲目的字符串或用法說明字符串)以顯示在系統的權限請求警報中,幷包含一個示例。保持文字簡短和 具體,使用句子,並禮貌,因此人們不會感到壓力。無需包含您的應用名稱-系統已標識您的應用。有關開發人員指導,請參閱保護用戶的隱私。
僅在您的應用運行所需時纔會在啓動時請求權限。 若是您的應用程序顯然依賴於他們的我的信息來操做,則用戶不會被此請求所困擾。
不要不必要地請求位置信息。 在訪問位置信息以前,請檢查系統以查看是否已啓用位置服務。有了這些知識,您能夠延遲警報,直到功能真正須要它,或者徹底避免警報。
某些應用可能須要提供一種方法來進行設置或配置選擇,但大多數應用能夠避免或延遲這樣作。成功的應用程序能夠當即適用於大多數人,同時還提供一些方便的方式來調總體驗。當您將應用程序設計爲以大多數人指望的方式運行時,您能夠減小對設置的需求。
推斷你能夠從系統中獲得什麼。 若是您須要有關用戶,設備或環境的信息,請儘量向系統查詢,而不是詢問用戶。例如,不要讓某人輸入他們的郵政編碼,以便您能夠提供本地選項,請求使用他們當前位置的權限。
周到地優先考慮應用程序中的配置選項。 您的應用程序的主屏幕是一個選擇必要或常常更改的好地方。輔助屏幕更適合僅偶爾更改的選項。
在「設置」中公開不常常更改的配置選項。 「設置」應用是在整個系統中進行配置更改的中心位置,但人們必須離開您的應用才能到達目的地。在您的應用程序中直接調整設置會更方便。
在適當的時候提供設置的快捷方式。 若是您的應用包含將用戶定向到「設置」的文本,例如「轉到設置>MyApp>隱私>位置服務」,則會提供一個自動打開該位置的按鈕。
3DTouch爲觸控交互提供了一個全新的維度。用戶能夠在支持的設備中,經過不同力度按壓屏幕來訪問額外的功能。App會經過展現菜單、顯示額外內容、播放動畫等方式來進行反饋。使用3DTouch功能不須要學習新的交互手勢,只要輕輕按壓屏幕就能夠輕易發現額外的內容。
用戶經過音量鍵、靜音鍵、耳機聲控和屏幕上的音量調節滑塊控制聲音。不少第三方配件也有聲控功能。音頻能夠經過內部或外部揚聲器、耳機輸出,甚至經過支持AirPlay或是藍牙的設備來無線輸出。不管聲音是你App的重要功能還只是一個點綴,你都應該知道⽤戶對聲音有什麼期待而且去知足他們。
能夠經過讓用戶進行身份驗證的條件來爲他們提供有價值的服務,例如個性化體驗、訪問附加功能、購買內容或同步數據。若是你的App須要認證,那保持登陸過程的快速、簡單和天然,就不會讓你的App的體驗感變差。
在全部註冊和登陸流程中使用密碼自動填寫: 此功能自動生成並填寫密碼和安全代碼,以便人們能夠在驗證界面中花費更少的時間。全部應用程序都應該支持此功能。有關開發⼈人員指南,請參閱支持密碼自動填寫。
將登錄盡量日後排序: 當人們在作一些有用的事情以前被迫登陸時,他們往會放棄這樣的App。在強制用戶登錄前給他們⼀個愛上你的App的機會。在購物App中,讓用戶能夠在啓動時能當即瀏覽你的商品,而且只有在他們準備好購買的時候才須要登陸。在一個流媒體App中,也在登陸前讓用戶能夠搜索你的內容,看看你的App能提供些什麼。
解釋身份驗證的優勢,以及如何註冊: 若是你的App須要驗證,請在登陸屏幕上展現簡短友好的說明描述使用這個流程的緣由及好處。另外,請記住,並不是全部使用你的 App的人從一開始就有一個帳戶。確保你描述了如何得到一個帳戶,或者提供一個簡單的App內的註冊方式。
顯示合適的鍵盤類型來減小數據輸入: 例如要求填寫Email地址時,顯示Email鍵盤屏幕,其中要包含經常使用數據輸入的快捷鍵。 永遠不要使用「密鑰」這個術語: 當生物識別認證失效時,密鑰是用於解鎖用戶的iOS設備,並與Apple Pay進行身份驗證的。
不管是點擊界面元素仍是使用鍵盤,鍵入信息都是一個乏味的過程。當⼀款App尚未提供實際的幫助,就要求用戶大量的鍵入內容,會致使進程變慢,用戶就可能會很快失去耐心,甚至徹底放棄這個App。
盡量顯示選項: 數據輸入高效化。例如,考慮使用選擇列表來代替打字,由於從提早設定好的選項中進行選擇,要比打字容易多了。
儘量的從系統中獲取信息: 不要強迫用戶提供那些能夠自動或是在用戶許可內就能獲取的信息,好比聯繫人或是日曆信息。提供合理的默認值:儘量地預填可能性最大的信息值。提供準確的默認值能夠進行快速決策。
只有在收集完必要的信息以後才能進行下一步: 在啓動「下一步」或「繼續」按鈕以前,確保全部須要的字段都有值。使用可視化按鈕,提示用戶能夠繼續 進行下一步。
馬上驗證填寫信息: 當你在填寫完一份冗長的表格後,又不得不回到前面去糾正錯誤是讓人十分沮喪的。儘量在輸入後當即檢查字段值,這樣用戶就能夠立刻糾正它們(例如輸入用戶名後立馬檢查格式和是否被註冊,而不須要在輸入完密碼後再一塊兒驗證)。
只有在必要時使用文本信息: 只要在真正須要的信息,才使用字段表達。
將信息列表化以高效預覽: 在列表和集合中,選擇⼀個選項是更容易的。考慮將信息列成表,以字母順序排序或以另⼀種邏輯⽅方式排序,從而能夠快速掃視和選擇(如商品類目以字母排序的方式在列表中展示出來)。
在文本框中顯示提示,以助溝通: 當字段中沒有其餘文本時,文本字段能夠包含如「電子郵件」或「密碼」之類的佔位符文本。當佔位符文本足以表述清楚的話,不要再使用單獨的標籤來進行描述。
只要⼀根⼿手指,用戶就能夠將選定的照片、文本或其餘內容,從一個位置拖到另外一個位置來進行移動或複製,而後鬆開手指將其放下。
觸摸並按住選擇的內容使它看起來會上升並附着在用戶的手指上。當內容被拖動時,動畫和視覺提示要識別你想放置的位置。當沒法放下,或着拖拽只能複製而不是移動時,該系統會顯示別的標識來提醒用戶。
反饋讓用戶知道App如今作什麼,發現他們下一步應該作什麼,而且了解行動的結果。
將狀態和其餘類型的反饋整合到你的界面中: 理想狀況下,用戶能夠在不操做或不被打擾的狀況下得到重要信息。
避免不必要的警報框: 警報框是一種強大的反饋機制,但應該只用於傳遞重要的信息。若是用戶看到太多包含可有可無信息的警報框,他們很快就會學會忽略之後的警報。
請謹慎使用觸覺反饋: 過分使用會引發認知混亂並下降反饋的重要性。
通常來講,觸覺反饋是爲了響應用戶發起的操做: 用戶很容易將觸覺與他們所發起的操做聯繫起來。隨意的反饋會讓用戶感到不連貫,以及形成誤解。
不要從新定義反饋類型: 爲確保用戶有一致的體驗,請按照預期使用反饋類型。
調整好給用戶觸覺反饋的視覺體驗: 提供視覺和觸覺的反饋,以在操做和結果之間創建更深的聯繫。確保動畫是清晰準確的,在視覺上符合用戶的感覺 。
不要依賴單一的交流方式: 並不是全部的設備都支持全方位的觸覺反饋,若是能夠選擇的話,用戶徹底能夠在設置中禁用該功能。此外,只有當設備激活,而你的App是在當前頁面時,觸覺反饋纔會發生。經過視覺和聽覺的提示來補充觸覺,以確保重要信息不不會被遺漏。
當視覺反饋被遮擋時,用戶可使用觸覺: 好比將一個對象拖到屏幕上的某個位置,被用戶的手指遮住了。這時候生成反饋,讓用戶知道什麼時候到達特定的位置。
在開始反饋以前,確認系統已準備就緒: 由於在提供觸覺反饋時可能會有⼀些延遲,因此最好在請求反饋以前確認系統已提早加載。不然,觸覺反饋可能有很長的延時,致使用戶感受他們的操做與屏幕上看到的東西沒有聯繫。
同步觸覺和音效: 觸覺不會自動與聲音同步。若是你想使用音效的話,要讓它和觸覺同步。
用戶在建立、查看和操做文件時不用考慮文件系統。若是你的App須要運行文件時,儘量地減小文件處理的時間。
讓用戶相信文件即時保存,除非主動取消或刪除: 通常來講,不要讓用戶去即時保存文件。相反,在用戶打開和關閉文件,以及切換到另外一個App程序時,會按期自動地保存更改。在某些狀況下,例如在編輯現有文件時,保存和取消項可能仍然是有意義的,由於它們能夠幫助確認什麼時候編輯的內容已經被保存。
不要提供建立本地文件的選項: 用戶一般但願全部的文件均可以在他們的全部設備上使用。只要有可能,你的App就應該經過iCloud等服務來支持雲文件存儲。
設計一個直觀的圖形文件瀏覽界面: 理想狀況下,使用戶熟悉的系統文檔應用來瀏覽。若是你設計了一個自定義的文件瀏覽器,請確保它是直觀且高效的。
讓用戶在不離開App程序的狀況下預覽文件:
與其餘App共享文件: 若是能夠的話,你的App能夠經過文檔的擴展功能與其餘App共享文件。也可讓用戶瀏覽和打開其餘App 的文件。
用戶經過在觸摸屏上使用手勢來與iOS設備交互。操做手勢與內容產生了緊密的我的聯繫,加強了對屏幕的直接操縱感。
通常使用標準操做手勢: 用戶熟悉了標準的手勢,就不喜歡被迫學習不同的方法來作相同的事。在遊戲和某些沉浸式App中,自定義手勢是這種體驗的樂趣之一。在通常App中,最好使用標準的手勢,這樣用戶就不用費力去發現或記住它們了。
避免使用標準手勢執行非標準操做: 除非你的App是一個極具可玩性的遊戲,不然從新定義標準手勢會變得混亂和複雜。 不要禁用系統的屏幕邊緣手勢: 除了標準的手勢以外,一些額外的手勢還能夠調用全局操做,好比在屏幕的邊緣經過滑動屏幕來顯示主屏幕(在支持的iphone上)、控制中心、通知中心和Dock(在iPad上)。用戶依靠這些手勢來操做每⼀個App程序。
基於界面的導航和操做提供補充性的快捷手勢,而不是替換: 只要有可能,提供一種簡單、直觀的方法來引導或執行操做,即便這意味着須要額外的點擊。許多的系統App提供了清晰可點的返回上一頁的按鈕的導航欄。但用戶也能夠經過從屏幕的一側滑動來返回。在iPad上,用戶能夠按下Home鍵退出到主屏幕,或是使用四指捏合的手勢。
使用多點手勢來加強App的體驗: 雖然涉及多個手指同時操做的手勢不適用於每個App,可是他們可以豐富一些App的體驗,譬如遊戲和繪圖App。例如,一個遊戲可能包含多個屏幕控制,好比操縱桿和發射按鈕,就能夠同時進行操做。
點擊: 激活一個控件或者選擇一個對象。
拖拽: 讓一個元素從一邊移動到另外一邊,或者在屏幕內拖動元素。
滑動: 快速滾動或平移。
橫掃: 單指返回上一頁,顯示分屏視圖中的隱藏視圖,滑出列表行中的刪除按鈕,或在輕按顯示操做列表。在iPad中四指操做⽤用來切換App。
雙擊: 放大並居中內容或圖片,或者縮小已放大過的。
捏合: 向外張開時放大,向內捏合時縮小。
長按: 當在可編輯或可選文本中執行時,顯示用於光標定位的放大視圖。在某些與集合視圖相似的視圖中操做,進入對象可編輯的狀態。
搖晃: 撤銷或重作
NFC 使設備可以在幾釐米的範圍內進行無線信息交換。在支持此項功能的設備上運行iOSApp,可使用NFC掃描來讀取現實世界相關的電⼦子標籤上的數據。例如,用戶能夠掃描一個玩具來鏈接視頻遊戲,購物者能夠掃描店內的標誌來拿到優惠券,或者零售員工能夠掃描產品來跟蹤庫存。
不鼓勵用戶接觸物理對象: 要掃描標籤,iOS設備只需簡單地靠近標籤,而不須要觸碰。當要求用戶掃描對象時,使用「掃描」和「靠近」等術語,而不是「點擊」和「觸碰」。
使用通俗易懂的術語: 一些人可能不熟悉NFC這個概念。爲了讓它變得通俗易懂,應避免說起技術上的、面向開發者的術語,好比核心NFC、近場通訊、NFC和標籤。相反,要使用大多數人都能明白的友好會話式的術語。
爲掃描提供簡潔的指導說明: 提供完整的帶有結束標點符號的句子。肯定要掃描的對象,並適當地修改文本以便進行後續掃描。保持⽂文本簡短,避免截斷。
支持後臺和應用內標籤閱讀。對於使用不支持背景標記讀取的設備的用戶,您的應用仍必須提供應用內掃描標記的方式。
許多App容許用戶經過搖晃設備來撤銷和重作某些操做,好比打字或刪除。當以這種方式啓動時,會出現一個警告框提示用戶確認或取消撤銷(重作)。
簡要描述一下將要撤消或重作的操做: 撤銷和重作的警告提示框標題會自動地包含「撤銷」或是「重作」這樣的前綴(以及後面的空格)。你須要在前綴後面提供額外的一兩個詞語用來描述什麼會被撤銷或是重作。例如,你能夠建立警告提示,例如「撤銷名稱」或「重作地址更改」。
若是你已經使用搖晃手勢進行撤銷和重作,則不要將其用於其餘操做: 儘管你能夠經過編程方式給搖晃手勢賦予多種功能,但卻冒着讓用戶困惑的風險,這樣就會讓你的App更難用。
節制地使用撤銷和重作按鈕: 當App提供多種方法來執行相同的任務時,會讓用戶感到困惑。若是你的App真的須要專有的撤銷和重作按鈕,請使用標準系統提供的圖標,並將它們放在一個預期的位置,好比導航欄中。
只在當前情境中執行撤銷和重作操做: 撤銷和重作必須對當前的(而非以前的)情境有明確直接的影響。
多任務處理功能可讓你經過iOS設備上的多任務界⾯,或者在 iPad 上使⽤多點觸控⼿勢,隨時從⼀個 App快速切換到另⼀個App。 在 iPad 上,多任務處理功能還可讓你在「幻燈⽚」、「分割視圖」或「畫中畫」模式下同時使⽤兩個App。在屏幕右側向左滑動能夠進⼊「幻燈⽚」模式,它能讓你在不離開當前App的狀況下暫時性地使⽤第⼆個App,例如在使⽤Safari時快速查看你的郵件收件箱。「分割視圖」模式可讓你同時使⽤兩個並排的 App,⽽ 「畫中畫」 模式可以讓你在使⽤另⼀個 App 時觀看視頻。
設計出⼀個可以在多任務環境中良好運⾏的 App 取決於你的App能夠與設備上的其餘App和諧共存。這意味着你的App不該該佔⽤太多 CPU、內存、顯示屏幕或者其餘系統資源。它應該很好地應對來⾃其餘App的突發⼲擾和聲⾳,能快速流暢地在顯示界⾯和後臺來回切換,而且在後臺運⾏時表現得可靠穩定。
作好隨時中斷的準備,並時刻準備着恢復: 你的App能在任什麼時候候被中斷。當中斷髮⽣時,你的App應該快速精準地保存當前狀態,這樣當⽤戶返回時,就能夠⽆縫地從他們離開的地⽅繼續使⽤。確保你的界⾯可以適應雙倍⾏⾼的狀態欄: ⼀些進程中的電話、錄⾳、共享功能在屏幕頂部會顯示額外的⼀個狀態欄。在⼀些沒有考慮該狀況的App中,這個增長的⾼度會遮擋其餘界⾯元素或者把它們擠下去。你須要在這些狀況下測試你的 App,確保你的界⾯可以應對⾃如,而且仍然保持美觀。
須要格外注意和應對暫停操做: 若是你的App是⼀個遊戲或者媒體播放應⽤,請確保你的⽤戶在切換到其餘App時也不會錯過任何內容。當他們切換回來時,讓他們從上次離開的地⽅繼續使⽤。
合理處理來⾃應⽤外的聲⾳: 有時你的 App 的⾳頻可能會被來⾃其餘 App 或是系統的聲⾳打斷。⽐如,來電鈴聲或是被 Siri 打開的⾳樂播放列表。當這些狀況發⽣時,你的App應該以⽤戶預期的⽅式處理。對於重要的⾳頻⼲擾,⽐如⾳樂播放、⼴播或有聲讀物,你的 App 應該⽴刻暫停其⾳頻。對於短暫的⼲擾,⽐如GPS導航通知,你的App應該暫時下降⾳量或是先暫停⾳頻等待⼲擾結束,再繼續播放。
在後臺完成⽤戶發起的任務: 當⽤戶開啓了⼀個任務,即便離開了App他們也但願任務可以繼續完成。若是你的App正在執⾏⼀個不須要⽤戶額外輸⼊的任務,請在 App 回到前臺前,在後臺完成它。
有效控制通知次數: ⽆論你的App在前臺、後臺或是徹底沒有在運⾏,它都能在特定的時間給⽤戶推送通知。你可使⽤通知來傳達重要訊息,可是 要避免⽤戶被過多通知煩擾。⽐如,當你的App在後臺時,不要每完成⼀個任務就給⽤戶發送⼀個通知。相反的,可讓⽤戶經過返回你的 App 來 查看任務的完成狀況。
⽆論設備是鎖屏狀態仍是正在使⽤中,App都能隨時利⽤通知功能來提供及時和重要的信息。⽐如,通知可能會在如下⼏種狀況發⽣時出現:新消息到來時、⼀個事件將要發⽣時、有新數據可獲取時或是某些狀態發⽣改變時。⽤戶能夠在鎖屏上、屏幕頂部(使⽤設備時),以及通知中⼼(經過從屏幕 頂部邊緣下滑呼出)看到通知欄。每一個通知都包含 App 的名稱、⼀個 App 圖標以及⼀條消息。 通知也可能伴隨着聲⾳提示,以及 App 圖標上⼩紅點⻆標的出現和更新。
在未鎖屏時點擊通知,或是在鎖屏時滑動這項通知,均可以實現如下⼏種⾏爲:結束通知、把它從通知中⼼移除,打開發送通知的應⽤並展現相關的內 容。⽐如,在未鎖屏的設備上點擊⼀條新的郵件通知,就會打開郵箱而且顯示新的信息。
在未鎖屏時,上滑通知或讓它消失,或讓它關閉通知,也可將它從通知中⼼ 移除。
使⽤ 3D Touch 在⼀個通知上按壓,或是在未鎖屏時下滑通知⾯板,就能打開擴展的詳情視圖。這個視圖⽀持⾃定義而且包含最多四個操做按鈕。⽐如, ⼀個待辦事項App能夠推送⼀個含有詳情視圖的任務通知,上⾯有能夠推遲任務和標記爲已完成的按鈕;⼀個⽇歷事件的通知提供了「⼩睡」功能來短 暫推遲事件的鬧鈴。
設計⼀個很棒的通知體驗
提供有⽤的通知: ⽤戶打開通知是爲了快速得到最新消息,因此你的重點是提供有價值的信息。通知顯示須要使⽤完整的句⼦,句⾸英⽂字⺟⼤寫,合適的標點符號,而且不要刪減你的信息——必要時系統會⾃動處理。當通知被關閉時⽤戶很難再記住它們,因此要避免在通知中引導⽤戶打開你的App, 進⼊指定⻚⾯而後點擊指定按鈕來完成⼀些任務。
**即便⽤戶沒有做出迴應,也不要爲同⼀件事情發送多個通知:**⽤戶只有在⽅便時纔會處理通知。若是你爲同⼀件事發送了多個通知,而且填滿了通知中⼼,那麼⽤戶就極可能關閉全部來⾃你的App的通知。不要在通知⾥包含你的App的名字和圖標:系統會⾃動在每條通知的頂部顯示這些信息。
提供描述性⽂字,以便在通知預覽被隱藏時顯示: 根據⽤戶的設置,出於隱私考慮通知預覽可能會被隱藏。在這種狀況下,僅顯示你的App圖標和通⽤描述(通知是默認描述)。爲了向⽤戶提供⾜夠的內容,你的 App 應該提供能簡潔描述通知內容的⾃定義⽂本,如朋友請求,新評論,提醒或發貨提供聲⾳以輔助你
的通知提醒: 當⽤戶沒有盯着屏幕時,聲⾳是⼀個引發他們注意的絕佳⽅式。當⼀個待辦事項App開始執⾏重要任務時可能就會發出⼀個提示⾳。你的 App 可使⽤⾃定義聲⾳或是系統的提示⾳來達到效果。若是你使⽤⾃定義的聲⾳,請確保它是簡短、不同凡響而且製做精良的。須要注意的是⽤戶能夠隨時地關閉通知提示⾳。他們也能夠開啓伴隨着聲⾳的振動——這隻能被⼿動開啓,⽽不是經過你的 App 程序⾃動啓⽤。
考慮提供⼀個詳情視圖: ⼀個通知的詳情視圖提供了關於該通知的更多信息,而且容許他們在不離開當前環境的狀況下去執⾏快捷的操做。這個視圖應該包含有⽤、易識別的信息,讓⼈感受就是⼀個你的App的⾃然延伸。它能夠包含圖⽚、視頻以及其它內容,它還能在顯示時動態更新。⽐如,⼀個拼⻋ App 就可以在該窗⼝顯示⼀張地圖,並標出⼀輛⻋正在朝着你當前的位置駛來。
提供直觀、有⽤的操做: ⼀個通知的詳情視圖能最多包含四個操做按鈕。這些按鈕⽤來執⾏常⽤、省時的任務,⽽不⽤打開你的 App。使⽤簡短、英⽂⾸字⺟⼤寫的名稱明確地描述該操做的含義。⼀個通知的詳情視圖還能在屏幕上呼出⼀個鍵盤⽤來收集執⾏操做須要的信息。⽐如,⼀個通信 App 能夠容許⽤戶直接在新消息通知的詳情視圖上回復。
避免展現破壞性的操做: 要在通知詳情視圖⾥展現破壞性操做以前請仔細考量。若是你必須展現它們,確保⽤戶擁有⾜夠的上下⽂信息,以免出現意外後果。破壞性的操做應該以紅字呈現。
⻆標
⻆標是⽤來補充說明通知,⽽不能⽤來表示重要的信息: 須要注意App的⻆標能夠被關閉。若是你的App依賴於經過⻆標來傳達重要信息,就等於你在冒着⽤戶會錯過這些信息的⻛險。
⻆標僅⽤於通知: ⻆標不該該⽤於顯示其餘類型的數字信息,例如空⽓質量,⽇期,股票價格或天⽓。
保持⻆標實時更新: 當收到對應的消息時要⽴即更新你的App的⻆標數字。⽤戶只有在看到確切提示以後纔會進⼊你的App查看。請注意,將⻆標上的數字清零意味着同時在通知中⼼移除全部相關的通知欄。
你的 App 能夠利⽤系統⾃帶的 AirPrint 技術來使⽤兼容的打印機實現圖⽚、PDF 以及其它內容的⽆線打印。當⽤戶在有 AirPrint 功能的應⽤內瀏覽可打印的內容時,他們能夠經過點擊導航欄或是⼯具欄上的操做按鈕打開選項⾯板,而後再點擊打印按鈕來打開打印視圖。 這個視圖提供了⼀個可⽤打印機的列表以及⼀些⾃定義選項,⽐如打印的份數、⻚⾯範圍,而且提供了⼀個開始打印的按鈕。 讓打印選項易於發現: 若是你的App有⼀個⼯具欄或是導航欄,請使⽤系統提供的操做按鈕來打印。⽤戶對這個按鈕更加熟悉,而且在其它應⽤中也 是⽤它來打印。若是你的 App 沒有⼯具欄或是導航欄,那麼設計⼀個⾃定 義的打印按鈕來代替。
只在能夠打印的狀況下才容許打印: 若是在你的屏幕上沒有任何內容或是沒有可⽤的打印機,那麼在⽤戶點擊操做按鈕後禁⽤打印按鈕。若是你的App使⽤⾃定義的打印按鈕,在⽆法打印時讓其不可點擊或是隱藏它。
提供有⽤的打印選項: 思考⽤戶在打印你的內容時會想要指定哪些選項。能夠考慮選擇⻚⾯範圍和打印份數的選項。也能夠啓⽤附加的選項,⽐如雙⾯打印,若是這樣有意義而且打印機也⽀持的話。
在你的app中,快速查看功能可讓⽤戶預覽Keynote、Numbers、Pages、PDF⽂檔、圖⽚以及其它類型的⽂件,即便你的應⽤並不⽀持這些⽂件格式。也可使⽤該功能來查看郵件的附件。在下載附件以後,郵件信息中會顯示附件的圖標和⽂件名。點擊圖標就能預覽附件。
在當前環境下合理地展示預覽窗⼝: 在 iPhone 上,若是你的 App有導航欄,讓預覽視圖下移留出位置給導航欄,就和你的App 其它層級的視圖⼀樣。 在iPad或是沒有導航欄的App內,⽤全屏有導航欄的模態視圖中打開預覽視圖。經過以上兩種⽅法,導航欄就能提供退出快速查看狀態的按鈕,以及預覽特定的⼀些按鈕,⽐如分享和標記這樣的操做。若是你的App包含⼀個⼯具欄,那麼預覽特定的按鈕就會在⼯具欄出現⽽不是導航欄。
評級和評價能夠幫助⽤戶在考慮是否嘗試App時作出合理的決定。良好的評級和積極的評論意味着你的App能得到更多下載,⽤戶反饋可讓你深⼊瞭解你的 App 在現實世界的使⽤狀況,從⽽更好地幫助你實現將來的開發⼯做。提供良好的總體體驗是提高評級和⿎勵積極評價的最佳⽅法,但在適當的時候要求提供反饋也很重要。在請求⽤戶對你的App進⾏評級時,請牢記這些注意事項:
在⽤戶與你的 App 有⼀定程度互動後再請求⽤戶對其進⾏評級: 例如,在達到某個遊戲等級或完成某個⽣產任務時提示⽤戶。絕對不要在⽤戶第⼀次使⽤或者進⾏新⼿引導時請求評級。給⽤戶充⾜的時間,讓他們對你的 App 有⾃⼰的意⻅。
不要中斷⽤戶: 特別是當他們在執⾏緊急或壓⼒很⼤的任務時。尋找合適的時機發送評級請求。
不要變得讓⽤戶討厭: 重複的評級提示可能會刺激,甚⾄可能會讓⽤戶對你的App產⽣負⾯情緒。評級請求⾄少間隔⼀周或兩週,並在⽤戶與你的 App 有進⼀步互動後能夠再次提示。
系統評級和審查提示 系統爲 App 提供了⼀致且不⼲擾的⽅式來請求⽤戶進⾏評級和評論。要使⽤此功能,你只要識別你的⽤戶在體驗中反饋意⻅的位置。若是⽤戶還沒有提供反饋,而且你的App最近也沒有提出請求,那麼系統將顯示⼀個應⽤內提示,請求⽤戶進⾏評級和評論。⽤戶能夠點擊提供反饋或關閉提示。(在 「設置」中,⽤戶還能夠選擇不接收全部已安裝應⽤的評級請求提示。)在365 天的週期內,系統 ⾃動限制每一個App的提示顯示次數爲三次。
最好使⽤系統提供的提示: 系統的評級提示提供了⼀個熟悉,有效的體驗,旨在使⽤戶的影響最⼩。不要使⽤其餘控件來請求反饋: 因爲系統限制了評級提示出現的頻率,因此嘗試⽤控件請求反饋可能會致使不顯示評級提示。
提示: 回覆⽤戶評論是⼀個與⽤戶溝通,解決問題,並可能提⾼App評級的 好⽅法。
⽤戶能夠經過截取屏幕截圖來捕獲屏幕上顯示的內容。從iOS11開始,屏幕截圖在被截取後會在屏幕底部以預覽形式簡要顯示。⽤戶能夠將預覽圖滑動 到屏幕邊緣來關閉它(若是⽤戶沒有任何操做,預覽窗⼝會在⼏秒鐘後⾃動關閉),點擊預覽窗⼝便可快速訪問即時標記和共享⼯具。屏幕截圖被保存 到「照⽚」中的「截圖」專輯中。
截取本地屏幕時,請勿更改 App 的界⾯: 系統提供的屏幕截圖功能在截取截圖時提供了⾜夠的界⾯和功能。⾃定義截圖啓動界⾯的更改和功能是重複的,沒必要要的,可能會令⼈困惑。若是你的 App 適⽤該功能,當其餘⽤戶使⽤該設備截取截圖時,能夠提醒⽤戶。
你的 App 能夠與 TV App 和 single sign-on 進⾏交互,爲⽤戶提供⾼度⽅便和⼀致的娛樂體驗。
TV App 交互 TV App 能夠全⾯訪問系統的收藏,最近播放的,以及推薦的電影和電視節⽬。
開始並恢復播放 當⽤戶請求在 App 中重放內容時,TV App 會⾃動打開你移動端的 App, 並向你的移動設備發送通知。
確保平滑過渡到你的App: 轉換到移動設備上的App時,TVApp會變成⿊⾊,且不會顯示啓動屏幕。移動端的App應該在開始播放或恢復內容以前⽴即呈現⿊屏,保持視覺連續性。
⽴即顯示預期內容: ⽤戶指望在你的App轉換完成後,所選內容就開始播放(從App的⿊屏直接跳到播放內容)。避免提供閃屏,詳細屏幕,介紹 動畫或任何其餘花費時間的障礙。這在恢復播放時尤其重要。
不要詢問⽤戶是否要恢復播放: 若是能夠恢復播放,則應⾃動執⾏此操做⽽ ⽆需提示確認。
確保爲正確的⽤戶播放內容: 若是你的App⽀持多個⽤戶配置⽂件,TVApp能夠在發出播放請求時指定配置⽂件。開始播放以前,你的App應⾃動切換⾄這個設定。若是播放請求沒有指定配置⽂件,則請求⽤戶在播放開 始以前選擇⼀個,以便未來能夠直接提取此信息。
載⼊內容 若是加載須要兩秒以上,請考慮顯示⼀個帶有動態加載圖標的⿊⾊屏幕,且不沒有其餘內容。
儘量避免使⽤加載屏幕: 若是您的內容快速加載,則不須要加載屏幕。
儘快開始播放: 若是須要加載屏幕,加載⾜夠的內容以後再開始播放,並繼續在後臺加載剩餘的內容。
設計⿊⾊加載屏幕: 在內容播放的過渡期間,可能會顯示加載屏幕。爲了與TVApp的淡⼊淡出功能相融合,因此應該顯示⿊⾊屏幕。 加載屏幕上的內容最⼩化: 若是你⼀定要讓加載屏幕上包含品牌或圖像,請儘可能保持⿊⾊背景並⽆縫銜接播放。
退出播放 退出播放後,⽤戶仍然在你的 App 中,⽽不是返回到 TV App。不要讓⽤戶迷失⽅向。
顯示⼀個有相關內容的屏幕: 退出播放時,保留⽤戶正在觀看內容的屏幕視圖,幷包含⼀個恢復播放的選項。若是詳細信息屏幕不可⽤,請顯示⼀個包含⽤戶正在觀看的內容或你的 App 主菜單的菜單。
準備即時退出: 在收到回放通知後儘快準備退出屏幕,以便⽤戶即便在播放開始後⽴即退出,也能夠看到退出畫⾯。
單點登陸 許多流⾏的電視提供商容許⽤戶在系統級別登陸他們的賬戶,消除了逐個應⽤驗證身份的須要。若是你的App須要電視提供商進⾏身份驗證,請使⽤ 此功能提供最有效的⼊⻔體驗。
當⽤戶在系統級別登陸時,避免顯示退出選項: 若是你的App必須包含退出選項,則調⽤該選項,將⽤戶指向「設置」>「電視提供商」以退出其賬戶。
不要經過調整隱私控制來指示⽤戶退出: 「設置」>「隱私」中的電視提供商控制不是退出機制。這些設置可讓⽤戶管理可訪問其電視提供商賬戶的 App。