編輯導讀::iOS是運行于iPhone、iPad和iPod touch設備上、最常用的移動操作系統之一。作為互聯網應用的開發者、產品經理、體驗設計師,都應當理解并熟悉平臺的設計規范。這有利于提高我們的工作效率,保證用戶良好的體驗。本文是iOS設計規范系列第6篇,介紹人機交互(User Interaction)
iOS是運行于iPhone、iPad和iPod touch設備上、最常用的移動操作系統之一。作為互聯網應用的開發者、產品經理、體驗設計師,都應當理解并熟悉平臺的設計規范。這有利于提高我們的工作效率,保證用戶良好的體驗。
本文是iOS設計規范系列第6篇,介紹人機交互(User Interaction)。
關于人機交互,Human Interface Guidelines提供了14條規范。其中與iOS直接相關的有10條,本文重點介紹。其他4條分別是與iPad和游戲手柄相關的,僅做簡略介紹。
一、認證(Authentication )
要求用戶進行身份驗證一般是僅在交換價值時。例如:個性化體驗、訪問其他功能、購買內容或同步數據。如果你的APP需要身份驗證,請使用Apple登錄,這為用戶提供了一種簡單安全的登錄方式。
當你的APP支持使用Apple登錄時,用戶可以獲得他們可以信任的一致性登錄體驗,也不必記住的很多個帳戶和密碼。
- 若使用Apple登錄,請使用密碼自動填充。此功能可自動生成并填寫密碼和安全代碼,以便人們在驗證上花的時間更少。所有APP都應支持此功能。
- 盡可能延遲登錄。如果不能馬上做任何有用的事情,用戶經常會果斷放棄使用該APP。在他們放棄之前,讓他們有機會愛上你的APP。例如:在購物APP中,讓用戶在進入后立即瀏覽商品,并且只有在他們準備要購買時才需要彈出登錄。而在一些媒體流APP中,讓用戶在登錄之前也可以輕松瀏覽并查看APP里面的內容。
- 解釋身份驗證的好處及如何注冊。如果你的APP需要身份驗證,請在登錄頁上顯示簡短、友好的說明,說明驗證的原因及其好處。此外,請記住,并非每個使用APP的人從一開始就擁有帳戶。請務必說明如何獲取賬戶,或提供簡單的注冊方式。
- 通過顯示適當的鍵盤來最大程度地減少數據輸入。例如:在訪問電子郵件地址時,請顯示電子郵件鍵盤屏幕,其中包含有用的數據輸入快捷方式。
- 切勿使用“密碼”一詞。密碼是用于解鎖用戶的iOS設備,并在生物識別(Face ID 和 Touch ID)被禁用的情況下,可以使用密碼驗證Apple Pay。
Face ID 和 Touch ID:
盡可能支持生物識別認證。Face ID和Touch ID是用戶相信安全、熟悉的身份驗證方法。如果用戶啟用了生物識別身份驗證,你可以先假設他們了解其工作原理,了解其便利性,并且希望盡可能使用它。請記住,用戶也可能會選擇在其設備上禁用生物識別身份驗證,因此你的APP應準備其他備選方案。
默認向用戶展示一種認證方式。用戶不用選擇具體哪一種方式進行身份驗證,這是最直觀的。只需給他們一個選項,比如Face ID,然后提供替代登錄方案。例如:若在初始方法失敗時,將用戶名和密碼登錄的方式作為后備方案。
僅在響應用戶操作時啟動身份驗證。顯示操作(如點按按鈕)可確保用戶進行身份驗證。例如:在Face ID的情況下,用戶可能需要面向相機。
明確描述身份驗證方法。例如:使用Face ID登錄APP的按鈕標題應為“使用Face ID登錄”,而不僅僅是“登錄”二字。
準確引用身份認證方法。請勿在支持Face ID的設備上引用Touch ID。同理,請勿在支持Touch ID的設備上引用Face ID。檢查設備的功能并用適當的文字說明。
一般不要在APP中提供選擇生物識別身份認證的設置。如果系統中啟用了生物識別身份驗證,則只需假設用戶在你的APP里也是想使用它的。如果你單獨在APP做一個生物識別身份的選擇開關,則用戶可能會看到這樣一種狀態:當生物識別身份認證在系統內被真正禁用時,APP設置里卻顯示為已啟用。
請勿使用圖標來標識系統身份驗證功能 。當用戶看到類似于系統的Touch ID(指紋)和Face ID圖標時,他們會認為應該進行身份驗證。使用圖標來標識身份驗證功能會產生不一致并導致混淆,尤其是當圖標上色、以大尺寸顯示并脫離上下文時。
二、近場通信:NFC(Near Field Communication)
近場通信(NFC)使得彼此相距幾厘米的設備能夠以無線方式交換信息。在支持的iOS設備上可以使用NFC從現實世界對象的電子標簽中讀取數據。例如:購物者可以識別店內標志以訪問優惠券,手機靠近公交車的刷卡器可以進行扣費。
應用內讀取:
APP可以在前臺運行時啟用單對象或多對象進行讀取,并在用戶需要讀取某些內容時顯示讀取彈窗。
- 不要鼓勵用戶接觸實物。要讀取標簽iOS設備必須離標簽很近,但不需要實際接觸標簽。當需要用戶識別物體時,使用“識別并保持靠近”這樣的術語,而不是點擊和觸摸。
- 使用平易近人的術語。某些人可能不熟悉近場通信。為了使其更平易近人,請不要使用技術性術語,如NFC、近場通信等。請使用大多數人都能理解的友好的對話術語。
為識別彈窗提供簡潔的說明文字。初次識別請提供用句號結尾的、完整的描述語句。后續識別請適當修改文本。另外要保持文本簡短和完整。
后臺讀取:
后臺讀取可以讓用戶在任何時候都可以快速讀取標簽,而無需先打開APP。在支持后臺讀取的設備上,系統會在屏幕亮起時自動查找附近兼容的標簽。在檢測到標簽并將其與APP匹配后,系統會顯示一個通知,用戶可以點擊通知將標簽數據發送到APP進行處理。
以下情況后臺讀取將被禁用:當NFC彈窗可見、電子錢包或Apple Pay正在使用、攝像頭正在使用、設備處于飛行模式且重啟后設備被鎖定時。
同時支持后臺和APP內讀取。有時候用戶的設備可能不支持后臺標簽讀取,所以你的APP仍必須提供應用內讀取的方式。
三、信息輸入(Data Entry)
無論是點擊界面元素還是使用鍵盤,輸入信息都是一個繁瑣冗長的過程。
在用戶想要通過APP做一些任務或有意義的操作之前,卻要進行一連串的輸入才能繼續,這明顯會拖慢整個操作流程,用戶很快會感到氣餒,甚至可能完全放棄使用你的APP。
盡可能提供選項來代替輸入。盡量提高信息輸入的效率。例如:考慮使用選擇器或列表進行選擇,而不是直接輸入文本字段,因為提前設定好選項供用戶選擇比讓他們直接輸入信息要容易得多。
盡可能從系統獲取信息。不要強迫人們提供那些本可以自動獲取,或是在用戶許可范圍之內的信息。例如:聯系人或日歷信息。
提供合理的默認值。在可能輸入的范圍內,盡量提供一個合理可靠的默認值。合理的默認值會大大縮短用戶做出決定的時間,同時加快整個流程進行。
只有在填完必填項后才能夠下一步。在激活“下一個”或“繼續”按鈕之前,請確保所有必填項都有值。利用按鈕的外觀狀態作為提示,告訴用戶可以進行下一步了。
動態驗證所輸信息的有效性。在用戶填完冗長的信息后,再使其返回去更正錯誤會很令人沮喪的。盡可能的在用戶輸入信息后立即進行字段值檢查,以便用戶能及時發現并更正錯誤。
只有在必要時才需要必填字段值。只有系統運行真正必需的信息才需要使用必填字段。
通過字段值列表實現輕松導航。尤其是在列表和選擇器中,必需能很簡單地選擇一個值。可以考慮將字段值列表按首字母排序或是其它邏輯排列,以便于加快用戶瀏覽和選擇的速度。
在文本字段中顯示提示,以幫助傳達目的。當輸入欄沒有其他文本時,可以用占位符文本,比如:“電子郵件”或“密碼”。當占位符文本已經足夠說明時,不要再用單獨的標簽文字來描述。
四、文件處理(File Handing)
用戶在創建、查看和操作文件時,用戶不需要了解文件系統的概念。如果你的APP有涉及到文件,請盡可能地淡化文件處理。
除非取消或刪除,否則確保文件自動保存。一般情況下,不要讓用戶主動去保存文件。相反,在打開和關閉文件以及切換到其他APP時,應該自動為用戶保存文件。
不過在某些其他情況下,例如編輯現有文件時,保存和取消按鈕是有存在的必要的,因為它可以告訴用戶具體什么時候可以保存和撤銷編輯。
不要提供創建僅本地文件的選項。用戶通常希望他們的所有文件都可以在他們的所有設備上使用。無論如何,盡量讓你的APP像iCloud等服務一樣支持云存儲。
設計直觀的圖形文件瀏覽界面。理想情況下,選擇用戶最熟悉的系統文件瀏覽器來瀏覽界面。如果你設計了一個定制化的文件瀏覽器,請確保它直觀且高效。
文件瀏覽器只有在提供高質量的圖形及視覺響應界面的條件下,才會發揮最大的效果。如果想要更快地導航,可以考慮加一個文件按鈕,這樣用戶便可以無需跳轉至其它頁面便可創建新的文件。
允許用戶無需離開你的APP也可預覽文件。即使你的APP實際上沒有打開文件,你也可以使用“快速查看”功能讓用戶查看Keynote,Numbers和Pages文檔,PDF,圖像和某些其他類型文件的內容。
必要時,與其他APP共享文件。如果有必要的話,你的APP可以通過文件提供程序擴展(關于擴展)與其他應用共享文件。除此之外,還應該可以讓用戶瀏覽和打開其他APP的文件。
五、手勢(Gestures)
用戶在觸摸屏上用不同的手勢來與iOS設備上進行交互。這些手勢讓用戶與內容緊密聯系在一起,增強了用戶對屏幕內容的直接操縱感。
- 盡可能地使用標準手勢。用戶熟悉標準手勢,并不希望總是被迫學習不同的手勢來完成相同的操作。在游戲以及其他沉浸式APP中,自定義手勢可以成為用戶體驗中有趣的一部分。但在其他APP中,最好使用標準手勢,因為這樣用戶無需花額外的精力去發現和記住新手勢。
- 避免使用標準手勢執行非標準動作。除非您的應用是活躍游戲中的游戲,否則重新定義標準手勢的含義會導致混亂和復雜性。
- 避免與系統的屏幕邊緣手勢沖突(邊緣保護)。根據設備的不同,屏幕邊緣手勢可提供對主屏幕和應用程序切換器、通知中心、控制中心和Dock的訪問。在極少數沉浸式應用程序中(如游戲)可能需要自定義屏幕邊緣手勢,這些手勢優先于系統手勢,即第一次滑動調用特定于應用程序的手勢,第二次滑動調用系統手勢。使用這種交互時應該非常謹慎,因為這會使用戶更難以訪問系統級操作。
- 提供快捷手勢以補充基于界面的導航和操作,而不是代替。盡可能提供一種簡單、可見的方式來導航或執行操作,即使這可能意味著需要額外的點擊。許多系統APP的導航欄中,都包含一個清晰且可點擊的返回按鈕。但是用戶也可以通過從屏幕側面滑動來返回上一頁。在iPad上,用戶還可以通過按Home鍵或使用四指捏手勢退出主屏幕。
- 使用多指手勢來增強某些APP的體驗。雖然同時涉及多個手指的手勢并不適合每個APP,但它們可以豐富某些APP的體驗,比如游戲和繪圖APP。例如:游戲APP中可以同時操作控制桿和發射按鈕。
標準手勢:
以下標準手勢需要在整個系統和每個APP中保持相同。《通用交互手勢詞典》提供了更多手勢,可在公眾號后臺回復“交互手勢詞典”獲取。
- 點擊(Tap):激活按鈕或者選擇某個對象
- 拖動(Drag):把一個元素從一邊移到另一邊,或者在屏幕內拖動某個元素
- 滑動(Flick):快速滑動或平移
- 橫掃(Swipe):當用一根手指橫掃時,可以用來返回到上一個屏幕、呼出在分屏視圖控制器中的隱藏視圖、在列表中顯示“刪除”按鈕、或者在預覽中呼出操作列表。在iPad上用四根手指橫掃時,可在APP之間切換。
- 雙擊(Double Tap):放大居中的內容或圖片,或縮小已經放大的圖片
- 捏合(Pinch):向外張開時放大當前內容,向內捏合時縮小當前內容
- 三指捏(Three-finger pinch):向內捏時復制所選文本,向外捏時粘貼復制的文本。
- 三指滑動(Three-finger swipe):向左滑動時啟動撤消操作,向右滑動時啟動重做操作。
- 觸摸并按住(Touch and Hold):當以可編輯或可選文本形式執行時,突出顯示指尖下的文本并顯示編輯菜單。
- 旋轉(Rotate):旋轉圖像或視圖
- 搖晃(Shake):撤銷或重做
六、3D 觸控(3D Touch )
3D觸摸可以說是為觸摸交互方式提供了另一個維度的交互,在支持3D觸摸的設備上,用戶可以通過對屏幕施加不同程度的壓力來喚醒不同的功能,例如:可以觸發菜單,顯示更多的內容甚至是播放動畫,而以上均無需用戶去學習新的手勢操作即可使用。當其輕壓屏幕且獲得相應響應的同時,便意味著其發現了一個新的交互維度。
1. 主屏幕交互
在支持3D Touch設備的主屏幕上,按壓應用圖標即可喚醒相應的操作視圖。而這個視圖便可以讓你能夠快速執行常用的應用任務或者預覽有趣的信息。例如:日歷用于便提供了一個可以快速創建新事件的快捷操作,同時又可以顯示你的下一個日程。
實況照片:
當用戶與實況照片交互時,實況照片就會變得栩栩如生,通過動作和聲音來展示照片拍攝前后的瞬間。
在運行iOS 13或更高版本的設備上,用戶將手指放在照片就可激活實況照片; 在支持3D Touch設備上,用戶短時間觸摸并按下就可激活實況照片。
七、反饋(Feedback)
反饋可以幫助用戶知道APP正在做什么,發現他們下一步可以做什么以及了解操作結果。
將反饋狀態和其他類型的反饋融入到你的界面設計中,不要太引人注目。理想情況下,用戶無需進行任何操作或中斷即可獲得重要的信息提示。例如:在瀏覽郵件時,郵件的狀態信息被巧妙地放在在底部工具欄中。這樣做既不會搶了屏幕中主要內容的風頭,又可以在用戶需要時快速查看。
盡量不要用警示框。警示框是一種非常強大的反饋機制,它應該用在傳遞非常重要的信息上。如果用戶看到太多并非是重要信息的警示框,他們很快就會學會忽略之后出現的警示框。
八、音頻(Audio )
iPhone和iPad可以通過內部或外部揚聲器,耳機播放音頻,也可以通過藍牙或支持AirPlay的設備無線播放音頻。用戶可以使用多種類型的控件來操縱其設備上的聲音,包括音量按鈕,“鈴聲/靜音”開關,耳機控件,“控制中心”音量滑塊以及第三方附件中的聲音控件。無論聲音是應用程序體驗的主要部分還是裝飾,您都需要滿足人們對應用程序聲音應如何表現的期望。
靜音:
用戶將設備切換為靜音狀態,以免被突如其來的聲音干擾。例如:電話鈴聲和短信提示音。同時他們還希望關掉一些沒必要的提示音,包括鍵盤聲音、音效,游戲音樂和其他聲音反饋。
當設備被設置為靜音時,只應發出本該出現的聲音,例如播放中的音樂、鬧鈴和視頻聲音。
音量:
無論是使用設備上的物理按鍵還是屏幕上的滑塊,用戶都希望能夠改變音量大小來控制整個系統的聲音,包括音樂和APP內音效。唯一的例外是鈴聲的音量,當其他音頻沒有被播放的時候,它總是可以被單獨調節音量。
耳機:
用戶私下里喜歡使用耳機去接收聲音,來解放他們的雙手。當插入耳機時,用戶希望聲音能夠自動進行轉換到耳機并不中斷。當拔下耳機時,他們則希望播放立即暫停。
設計出色的音頻體驗:
必要時自動調整不同層級的音量水平,但不是整體音量。為達到更好的混合音效,你的APP可以單獨調整不同層級音頻間的相對音量以實現多種音頻的混合。但是,最終音量的輸出應始終由系統音量控制。
允許在適當時重新選擇輸出路徑。人們經常想選擇其他音頻輸出設備。例如,他們可能想通過客廳立體聲音響,汽車收音機或Apple TV收聽音樂。除非有迫不得已的理由,否則請支持此功能。
使用系統提供的音量視圖讓用戶進行音頻調整。音量視圖包括音量級別滑塊和用于重新選擇輸出路徑的控件。您可以自定義滑塊的外觀。
短促的聲音和振動請使用系統提供的聲音。提示音往往具有系統識別行,最好不要自定義。
音頻類別有很多種,選擇時要考慮適合你的應用程序。不同的音頻類別都可以用靜音開關靜音、與其他音頻混響、或在APP在后臺時播放。根據音頻類別的含義和當前設備的音頻狀態選擇一個類別,并將其分配給你的音頻對話。例如:非必要情況下,請不要阻止用戶聽來自其他APP的音樂。一般情況下,最好避免在APP運行時更改音頻類別,除非APP需要經常錄制并馬上播放音頻。
中斷結束后,請確定是否自動恢復音頻播放。有時,當前正在播放的音頻會被來自其他應用的音頻中斷。暫時性干擾(比如來電鈴聲)被認為是可恢復的。永久性干擾(比如由Siri打開的音樂播放列表),被認為是不可恢復的。當APP正在播放音頻發生暫時性干擾而中斷播放,在中斷結束后,應立即恢復播放。例如:在播放配樂的游戲和播放音頻的媒體應用,都應該恢復聲音的播放。
在音頻會話中斷時,確保您的VoIP應用可以正確響應。特別是當用戶在使用內置麥克風的同時關閉iPad的Smart Folio,結束通話至關重要。關閉Smart Folio會自動使iPad麥克風靜音,并且默認情況下會中斷與之關聯的音頻會話。如果在人們重新打開他們的Smart Folio時重新啟動音頻會話,則可能會在不知情的情況下重新啟用麥克風,從而有可能侵犯其隱私。
讓其他應用知道您的應用何時完成播放臨時音頻。如果你的APP可能暫時中斷其他APP的音頻,那應該適當地標明聲音片段,以便可以在安全恢復時通知其他APP。
僅在有意義時才響應音頻控件。無論你的APP在前臺還是后臺,用戶都能夠通過應用界面以外的東西去控制音頻的播放。如果你的APP正在清晰的音頻相關環境中主動播放音頻,或連接到支持AirPlay的設備上,則可以對音頻控件做出響應。但是,你的APP不應該混淆其它應用的音頻,因為它們可能會在控件被激活時播放。
請勿重新調整音頻控件的用途。用戶希望聲音控件在所有APP中都能保持一致。永遠不要重新定義聲音控件。如果你的APP不支持某些控件,那么不對他們做出響應即可。
九、觸覺(Haptics)
觸覺反饋(如各種形式震動)可以增強用戶與屏幕界面交互的體驗。例如:當確認Apple Pay交易時,除了提供視覺和聽覺反饋之外,系統還會有力的反饋。觸覺還可以增強觸摸手勢和交互,如滾動選擇器和切換開關。
在支持的iPhone型號上,你可以通過多種方式在APP內添加觸覺反饋:
- 標準的:默認情況下會使用系統觸覺反饋,如開關、滑塊和選擇器。
- 預設的:必要時使用反饋生成器播放通知、影響和選擇類別中幾個預定義觸覺模式之一。
- 自定義:在需要更多控制的情況下,可以設置并播放自定義的觸覺模式。
當你使用系統觸覺時,iOS會對不同行為進行不同強度的反饋。比如系統級的開關反饋就比較微弱。用戶是可以分辨系統級別的反饋的,因此請確保按照正確的含義使用觸覺反饋。
無論你使用系統提供的觸覺模式還是創建自定義觸覺模式,使用觸覺技術是為了豐富用戶體驗,同時應該做到不分散用戶的目標。
觸覺反饋的使用:
在觸覺和觸發器之間建立清晰的因果關系。理想情況下,用戶應當知道你的APP為什么會播放觸覺模式。如果一個觸覺無法加強這種因果關系,那么它可能會讓人感到困惑,而且似乎是無緣無故發生的。
使用觸覺可以補充APP中的其他反饋。當APP中的視覺、聽覺和觸覺反饋協調一致 – 就像它們在物理世界中一樣 – 這樣的用戶體驗更加連貫,看起來更自然。
明智地使用觸覺反饋。例如:當觸覺提供持久的價值時使用觸覺模式;使用它們來增加新鮮感,會讓你的APP看起來花哨。此外,可以在少量重要的、結果性的交互中添加觸覺。若為大量且瑣碎的交互操作添加觸覺的話,則會讓人頭暈目眩。
確保觸覺反饋的一致性。觸覺反饋的一致性有助于用戶在某些觸覺模式和某些體驗之間建立觸覺關聯。例如:如果你的APP在游戲角色未能完成任務時播放特定的觸覺模式,用戶則會學習將該觸覺模式與否定的結果關聯起來。如果你再使用相同的觸覺模式來反饋獲得肯定的結果,比如任務完成,那就會使用戶感到困惑。
避免過度使用觸覺反饋。有時,觸覺在偶爾體驗時會感覺恰到好處,但在如果經常遇到讓人煩惱。避免設計產生擴展和重復觸覺反饋的體驗。通常情況下,最好的觸覺體驗應該是用戶可能根本沒有意識到的,但是當它被關閉時卻會意識到。
對APP中的觸覺反饋進行測試。不同的人對觸覺有不同的偏好和敏感程度,因此你需要盡可能找更多的人測試觸覺。
使觸覺反饋設計是可選的。如果用戶愿意,讓他們可以選擇關閉觸覺或者使觸覺靜音,并確保他們在沒有觸覺模式的情況下依然可以很好的享受你的APP。
在游戲APP中,可以考慮自定義觸覺反饋來增強玩家體驗。除了在玩家與物品、控件互動時播放觸覺,你可能會想在游戲中交流事件的時候播放觸覺。例如:觸覺可以增強實質性的體驗 – 比如碰撞或打擊或微妙的體驗 – 就像是腳步聲或迫在眉睫的危險。
留意播放觸覺可能會影響其他用戶體驗。通過設計,觸覺產生足夠的物理力量,讓用戶感覺到設備的振動。確保觸覺不會破壞涉及相機、陀螺儀或麥克風的用戶體驗。
觸覺反饋的自定義:
自定義的觸覺模式可以表示諸如釋放彈弓或在隆隆的帶子上行駛的事物。自定義觸覺模式也可以根據用戶輸入或上下文的變化而變化。例如:當游戲角色從樹上跳下時,玩家感覺到的沖擊力可能比角色跳到位時要強。
在iOS 13及更高版本中提供兩個生成自定義觸覺模式的基本構建:
瞬態事件:短暫、緊湊的體驗,感覺像點擊或脈沖,例如:在主屏幕上輕點手電筒按鈕的體驗
連續事件:感覺像是持續的振動,比如信息中的激光效果。
無論你選擇生成自定義觸覺模式的構建塊是什么,你都可以控制其清晰度和強度。
清晰度指的是將觸覺體驗抽象為產生相應物理感覺波形的一種方式。您可以使用清晰度值來傳達柔和,圓潤或自然的體驗,或清晰,精確或機械的體驗。
強度指的就是指觸覺反饋的強烈程度。
通過排列組合瞬態和連續事件,變化的清晰度和強度,并包括可選的音頻內容,就可以創建出各種不同的觸覺體驗。
十、撤銷和重做(Undo and Redo)
許多APP允許用戶搖動設備以撤消或重做某些操作,例如鍵入或刪除。以這種方式啟動時,警報會要求用戶確認或取消刪除,或重做操作。
- 簡要而準確地描述要撤消或重做的操作。撤消和重做警示框的標題自動包含前綴“撤消”或“重做”(包括尾隨空格)。你需要提供一到兩個詞用于描述撤消或重做的內容,以顯示在此前綴之后。例如,你可以創建警報標題,例如“撤消名稱”或“重做地址更改”。
- 當搖動手勢用于呼出撤消和重做操作時,請不要將其用于其他操作。雖然你可以通過編程方式為搖晃手勢賦予多種含義,但這可能讓用戶感到困惑和無法預測。
- 謹慎提供撤消和重做按鈕。當APP提供多種方法來執行相同的任務時,這會令人困惑。如果你的APP確實需要專門的撤消和重做按鈕,請使用系統提供的圖標并將它們放在預期的位置,例如導航欄。
- 僅在當前上下文中執行撤消和重做操作。“撤消”和“重做”應該僅對當前上下文產生明確而直接的影響,而不是更早的時候。
十一、Apple Pencil和涂鴉(Scribble)
Apple Pencil是適用于iPad應用程序的多功能工具,在書寫筆記、素描、繪畫、標記文檔等時,可提供像素級的精度。在iPadOS 14和更高版本中,Scribble允許用戶使用Apple Pencil手寫識別功能在屏幕上快速、隱秘的在任何文本字段中輸入文本。
-
- 支持預期的行為。
- 讓用戶選擇何時在Apple Pencil和手指輸入之間進行切換,而不要強迫他們。
- 當Apple Pencil接觸到屏幕時應當立馬留下痕跡。
- 通過回應人們使用Apple Pencil的方式來幫助人們表達自己的想法。
- 使用視覺反饋來指示與內容的直接聯系。
- 設計出色的左撇子和右撇子體驗。
- 只要有可能,對用戶的雙擊手勢設置作出回應。
- 必要時給人們提供一種啟用自定義雙擊行為的方法。
- 切勿使用雙擊手勢來執行修改內容的動作。
1. 支持涂鴉(Scribble)
- 始終使輸入文本輕松流暢。
- 使涂鴉可以在人們可能想要輸入文本的任何地方使用。
- 避免在寫作時分散人們的注意力。
- 人們在文本字段中書寫時,請確保其保持靜止并且其內容不會滾動。
- 給人們足夠的寫作空間。
2. 提供定制的圖紙體驗
- 幫助人們利用現有內容。
- 當您的應用在緊湊的環境中運行時,請確保工具選擇器不會遮擋內容。
- 考慮提供自定義撤消和重做按鈕,以便應用程序在緊湊環境中運行時顯示。
十二、拖放Drag and Drop
用一根手指,用戶可以通過將內容從一個位置拖動到另一位置,然后抬起手指將其放下,來移動或復制所選的照片,文本或其他內容。
觸摸并按住所選內容使它看起來像上升并附著在用戶的手指上。拖動內容時,動畫和視覺提示會確定可能的目的地。系統還會顯示一個標志,指示何時無法刪除,否則將導致復制內容而不是移動內容。
1. 起始點和目的地
在iPad上,源位置和目標位置也可以存在于不同的應用程序中,從而實現跨應用程序交互,例如將照片從Safari中的網頁拖到Mail中的新消息。拖動內容時,用戶可以通過多任務處理,退出到主屏幕或從屏幕底部向上滑動以顯示Dock來訪問另一個應用程序。
2. 支持拖放
- 使拖放可用于所有可選和可編輯的內容。
- 如果適用,允許將內容拖放到控件上。
- 盡可能使用標準的文本視圖和文本字段。
- 為了提高效率,請考慮支持多項目拖放。
- 確定在應用程序中拖放內容是應該移動還是復制。
- 允許用戶撤消拖放操作。
- 考慮啟用彈性加載。
被拖動的內容:
- 如有必要,自定義拖動項目預覽。
- 盡可能提供從最高到最低保真度排序的拖動數據的多種表示形式。
- 如果適用,將自定義對象的本機版本顯示為最豐富的數據形式。
- 當應用程序內容的傳輸非常耗時或占用大量資源時,請實施文件提供程序擴展。
- 當您的應用程序內容需要時間傳輸時,請提供進度信息
被放置的內容:
- 使用視覺提示來識別潛在的目的地并預覽放置內容的效果。
- 在適當的時機自動滾動目標的內容。
- 提取并顯示拖放內容的最豐富的表示形式。
- 如果適用,僅提取被放置內容的相關部分。
- 內容被放置后,在表視圖和集合視圖中顯示占位符。
- 當被放置的內容需要時間傳輸時顯示進度。
- 當被放置的內容會啟動一個進程時,要提供反饋。
- 被放置失敗時通知用戶。
- 對放置的文本應用適當的樣式。
- 當用戶無法立即撤消拖放操作時,請考慮提供一種微妙和直觀的退出方式。
十三、指針(Pointers)
iPadOS 13.4引入了動態指針效果和行為,可增強在iPad上使用定點設備的體驗。當人們使用定點設備時,iPad OS會自動使指針適應當前環境,從而提供豐富的視覺反饋,并提供提高生產率和簡化常見任務所需的正確精度。
十四、游戲控制器(Game Controllers)
游戲控制器可以增強游戲玩法并增加人們對游戲的沉浸感。支持盡可能多的游戲控制器為人們提供了更多與您的游戲或應用進行交互的方式。
- 確定游戲控制器要求。
- 在啟動時確認所需的游戲控制器連接。
- 幫助人們了解在您的應用程序中使用游戲控制器的優勢。
- 測試所有受支持的輸入設備。
本文介紹了iOS的10大人機交互(User Interaction),參考資料Apple Developer-Human Interface Guidelines。下一篇介紹視覺設計(Visual Design)。
#專欄作家#
曉吾,微信公眾號:體驗主義,人人都是產品經理專欄作家。騰訊高級交互設計師,前創新工場、新浪微博交互設計師。專注社交創新與娛樂產品設計。
本文由 @曉吾 原創發布于人人都是產品經理。未經許可,禁止轉載
題圖來自Unsplash,基于CC0協議