'iOS平臺設計規範(二)APP架構'

"


"


iOS平臺設計規範(二)APP架構

無論是UI、交互,還是產品經理,都應該熟讀iOS平臺設計規範。這對我們的產品設計,百利而無一弊。


"


iOS平臺設計規範(二)APP架構

無論是UI、交互,還是產品經理,都應該熟讀iOS平臺設計規範。這對我們的產品設計,百利而無一弊。


iOS平臺設計規範(二)APP架構


無論是UI、交互,還是產品經理,都應該熟讀iOS平臺設計規範。這對我們的產品設計,百利而無一弊。


架構(APP Architecture)

一、加載(Loading)

當APP裡的內容正在加載時,一個空白或靜止的屏幕可能會讓APP看起來像是卡死了,從而讓用戶感到沮喪和不知所措,甚至可能導致用戶直接關掉APP放棄使用。


"


iOS平臺設計規範(二)APP架構

無論是UI、交互,還是產品經理,都應該熟讀iOS平臺設計規範。這對我們的產品設計,百利而無一弊。


iOS平臺設計規範(二)APP架構


無論是UI、交互,還是產品經理,都應該熟讀iOS平臺設計規範。這對我們的產品設計,百利而無一弊。


架構(APP Architecture)

一、加載(Loading)

當APP裡的內容正在加載時,一個空白或靜止的屏幕可能會讓APP看起來像是卡死了,從而讓用戶感到沮喪和不知所措,甚至可能導致用戶直接關掉APP放棄使用。


iOS平臺設計規範(二)APP架構



創建原則:

1、明確說明加載狀態

至少要有一個加載的圖標,可以表達正在發生的狀態。更好的方式是:使用類似進度條的形式,顯示明確的進度,讓用戶可以判斷自己大概需要等待多長時間。

2、儘快顯示內容

在用戶看到屏幕內容之前,不要讓用戶乾等著加載。你可以使用佔位符文本、圖形或動畫來告訴用戶,這個區域的內容還沒加載完成。在加載出內容後直接代替這些佔位符元素。後臺也要儘可能使用預加載,例如在播放動畫或用戶正在操作導航欄的選項卡時,後臺預先加載出來即將播放和顯示的內容。

3、自定義加載屏幕

雖然系統默認的進度指示器可以用,但有時會感覺它們脫離了主題,與APP的風格甚至顯得格格不入。設計師可以考慮用自定義動畫亦或是與APP風格相匹配的元素來設計,會使用戶有更沉浸式的體驗。


"


iOS平臺設計規範(二)APP架構

無論是UI、交互,還是產品經理,都應該熟讀iOS平臺設計規範。這對我們的產品設計,百利而無一弊。


iOS平臺設計規範(二)APP架構


無論是UI、交互,還是產品經理,都應該熟讀iOS平臺設計規範。這對我們的產品設計,百利而無一弊。


架構(APP Architecture)

一、加載(Loading)

當APP裡的內容正在加載時,一個空白或靜止的屏幕可能會讓APP看起來像是卡死了,從而讓用戶感到沮喪和不知所措,甚至可能導致用戶直接關掉APP放棄使用。


iOS平臺設計規範(二)APP架構



創建原則:

1、明確說明加載狀態

至少要有一個加載的圖標,可以表達正在發生的狀態。更好的方式是:使用類似進度條的形式,顯示明確的進度,讓用戶可以判斷自己大概需要等待多長時間。

2、儘快顯示內容

在用戶看到屏幕內容之前,不要讓用戶乾等著加載。你可以使用佔位符文本、圖形或動畫來告訴用戶,這個區域的內容還沒加載完成。在加載出內容後直接代替這些佔位符元素。後臺也要儘可能使用預加載,例如在播放動畫或用戶正在操作導航欄的選項卡時,後臺預先加載出來即將播放和顯示的內容。

3、自定義加載屏幕

雖然系統默認的進度指示器可以用,但有時會感覺它們脫離了主題,與APP的風格甚至顯得格格不入。設計師可以考慮用自定義動畫亦或是與APP風格相匹配的元素來設計,會使用戶有更沉浸式的體驗。


iOS平臺設計規範(二)APP架構



4、引導或娛樂用戶掩蓋加載時間

比如很多遊戲、視頻APP等,都可以放一段有趣的動畫或佔位圖作為加載提示,緩解用戶焦急的心情。(其實就是障眼法的意思)

缺點是:比較耗內存,一般遊戲APP裡用的比較多,普通的APP很少看到用動畫作為加載方式的,因為現在網絡越來越快,用戶只想儘快看到APP內的內容。


"


iOS平臺設計規範(二)APP架構

無論是UI、交互,還是產品經理,都應該熟讀iOS平臺設計規範。這對我們的產品設計,百利而無一弊。


iOS平臺設計規範(二)APP架構


無論是UI、交互,還是產品經理,都應該熟讀iOS平臺設計規範。這對我們的產品設計,百利而無一弊。


架構(APP Architecture)

一、加載(Loading)

當APP裡的內容正在加載時,一個空白或靜止的屏幕可能會讓APP看起來像是卡死了,從而讓用戶感到沮喪和不知所措,甚至可能導致用戶直接關掉APP放棄使用。


iOS平臺設計規範(二)APP架構



創建原則:

1、明確說明加載狀態

至少要有一個加載的圖標,可以表達正在發生的狀態。更好的方式是:使用類似進度條的形式,顯示明確的進度,讓用戶可以判斷自己大概需要等待多長時間。

2、儘快顯示內容

在用戶看到屏幕內容之前,不要讓用戶乾等著加載。你可以使用佔位符文本、圖形或動畫來告訴用戶,這個區域的內容還沒加載完成。在加載出內容後直接代替這些佔位符元素。後臺也要儘可能使用預加載,例如在播放動畫或用戶正在操作導航欄的選項卡時,後臺預先加載出來即將播放和顯示的內容。

3、自定義加載屏幕

雖然系統默認的進度指示器可以用,但有時會感覺它們脫離了主題,與APP的風格甚至顯得格格不入。設計師可以考慮用自定義動畫亦或是與APP風格相匹配的元素來設計,會使用戶有更沉浸式的體驗。


iOS平臺設計規範(二)APP架構



4、引導或娛樂用戶掩蓋加載時間

比如很多遊戲、視頻APP等,都可以放一段有趣的動畫或佔位圖作為加載提示,緩解用戶焦急的心情。(其實就是障眼法的意思)

缺點是:比較耗內存,一般遊戲APP裡用的比較多,普通的APP很少看到用動畫作為加載方式的,因為現在網絡越來越快,用戶只想儘快看到APP內的內容。


iOS平臺設計規範(二)APP架構



二、模態(Modality)

模態,是一種設計方式。一般作為臨時性的形式出現在頁面當中,需要顯示操作按鈕才可以退出。模態的意義在於:

  • 幫助用戶專注於一項與當前頁面密切相關的任務或選項
  • 確保用戶可以對重要操作採取行動


"


iOS平臺設計規範(二)APP架構

無論是UI、交互,還是產品經理,都應該熟讀iOS平臺設計規範。這對我們的產品設計,百利而無一弊。


iOS平臺設計規範(二)APP架構


無論是UI、交互,還是產品經理,都應該熟讀iOS平臺設計規範。這對我們的產品設計,百利而無一弊。


架構(APP Architecture)

一、加載(Loading)

當APP裡的內容正在加載時,一個空白或靜止的屏幕可能會讓APP看起來像是卡死了,從而讓用戶感到沮喪和不知所措,甚至可能導致用戶直接關掉APP放棄使用。


iOS平臺設計規範(二)APP架構



創建原則:

1、明確說明加載狀態

至少要有一個加載的圖標,可以表達正在發生的狀態。更好的方式是:使用類似進度條的形式,顯示明確的進度,讓用戶可以判斷自己大概需要等待多長時間。

2、儘快顯示內容

在用戶看到屏幕內容之前,不要讓用戶乾等著加載。你可以使用佔位符文本、圖形或動畫來告訴用戶,這個區域的內容還沒加載完成。在加載出內容後直接代替這些佔位符元素。後臺也要儘可能使用預加載,例如在播放動畫或用戶正在操作導航欄的選項卡時,後臺預先加載出來即將播放和顯示的內容。

3、自定義加載屏幕

雖然系統默認的進度指示器可以用,但有時會感覺它們脫離了主題,與APP的風格甚至顯得格格不入。設計師可以考慮用自定義動畫亦或是與APP風格相匹配的元素來設計,會使用戶有更沉浸式的體驗。


iOS平臺設計規範(二)APP架構



4、引導或娛樂用戶掩蓋加載時間

比如很多遊戲、視頻APP等,都可以放一段有趣的動畫或佔位圖作為加載提示,緩解用戶焦急的心情。(其實就是障眼法的意思)

缺點是:比較耗內存,一般遊戲APP裡用的比較多,普通的APP很少看到用動畫作為加載方式的,因為現在網絡越來越快,用戶只想儘快看到APP內的內容。


iOS平臺設計規範(二)APP架構



二、模態(Modality)

模態,是一種設計方式。一般作為臨時性的形式出現在頁面當中,需要顯示操作按鈕才可以退出。模態的意義在於:

  • 幫助用戶專注於一項與當前頁面密切相關的任務或選項
  • 確保用戶可以對重要操作採取行動


iOS平臺設計規範(二)APP架構



iOS提供您在應用中特定情況下使用的警報,活動視圖(或共享表)和操作表。在iOS13以下的版本,你需要自定義以下模態內容的演示樣式,而iOS 13及更高版本則默認以下演示樣式:

工作表

開卡片時被暫停的任務。用可以通過以下方式關閉卡片:

  • 從屏幕頂部向下滑動
  • 當卡片內容滾動到頂部時,從屏幕上的任何位置向下滑動
  • 點擊“關閉/取消”按鈕


注:工作表常用於無法啟用複雜任務的非模擬內容。

全屏

全屏模態視圖的演示樣式是涵蓋整個屏幕的,且完全覆蓋了之前的視圖,它最大限度地減輕了視覺上的干擾。用戶可以點擊按鈕來關閉全屏模態視圖。

對沉浸式內容(如視頻、照片或照相機視圖)使用全屏模態視圖,或者得益於全屏模態視圖的一些複雜任務(如標記文檔或編輯照片)。

注:如果使用當前上下文模式視圖樣式在拆分視圖窗格、彈出窗口或其他非全屏視圖中顯示模式內容,則在緊湊環境中顯示模式內容時應切換到使用工作表。

創建原則:

1、明確說明加載狀態

只有需要用戶集中注意力在做出選擇或執行與當前頁面不同的任務時,才能創建模態體驗。模態體驗使用戶脫離當前的頁面並需要用戶主動關閉,因此只有當創建模態體驗有明確的好處時才使用它。

2、在傳達重要信息或操作的情況下才使用警示框

通常情況下,彈出警示框意味著出現了問題。因為警示框會中斷體驗,需要點擊才能關閉。所以要讓用戶認為打斷是有必要的,這一點很重要。

3、確保模態上的任務簡單且集中

不要在你的APP中創建另一個APP。如果一個模態任務太複雜,那麼當用戶進入模態視圖時,他們可能會忽略他們之前被暫停的任務。

尤其謹慎創建太多層級結構的模態任務,因為用戶可能會在多個視圖中迷失不知道怎麼返回或忘記怎麼返回。如果模態任務必須包含子視圖,請提供清晰的返回路徑和完成路徑。

除非完成任務,否則不要使用“完成”按鈕。

4、始終要有取消/關閉模態視圖的按鈕

例如:你可以使用“完成”或“取消”。至少有一個按鈕以確保輔助技術訪問模態視圖,並代替手勢關閉模態視圖。

5、必要時,在關閉模態視圖之前進行確認,避免數據丟失

無論用戶使用手勢還是按鈕來關閉模態視圖,如果該操作可能導致用戶生成內容丟失,請提供解釋情況的操作表,併為用戶提供解決方法。


"


iOS平臺設計規範(二)APP架構

無論是UI、交互,還是產品經理,都應該熟讀iOS平臺設計規範。這對我們的產品設計,百利而無一弊。


iOS平臺設計規範(二)APP架構


無論是UI、交互,還是產品經理,都應該熟讀iOS平臺設計規範。這對我們的產品設計,百利而無一弊。


架構(APP Architecture)

一、加載(Loading)

當APP裡的內容正在加載時,一個空白或靜止的屏幕可能會讓APP看起來像是卡死了,從而讓用戶感到沮喪和不知所措,甚至可能導致用戶直接關掉APP放棄使用。


iOS平臺設計規範(二)APP架構



創建原則:

1、明確說明加載狀態

至少要有一個加載的圖標,可以表達正在發生的狀態。更好的方式是:使用類似進度條的形式,顯示明確的進度,讓用戶可以判斷自己大概需要等待多長時間。

2、儘快顯示內容

在用戶看到屏幕內容之前,不要讓用戶乾等著加載。你可以使用佔位符文本、圖形或動畫來告訴用戶,這個區域的內容還沒加載完成。在加載出內容後直接代替這些佔位符元素。後臺也要儘可能使用預加載,例如在播放動畫或用戶正在操作導航欄的選項卡時,後臺預先加載出來即將播放和顯示的內容。

3、自定義加載屏幕

雖然系統默認的進度指示器可以用,但有時會感覺它們脫離了主題,與APP的風格甚至顯得格格不入。設計師可以考慮用自定義動畫亦或是與APP風格相匹配的元素來設計,會使用戶有更沉浸式的體驗。


iOS平臺設計規範(二)APP架構



4、引導或娛樂用戶掩蓋加載時間

比如很多遊戲、視頻APP等,都可以放一段有趣的動畫或佔位圖作為加載提示,緩解用戶焦急的心情。(其實就是障眼法的意思)

缺點是:比較耗內存,一般遊戲APP裡用的比較多,普通的APP很少看到用動畫作為加載方式的,因為現在網絡越來越快,用戶只想儘快看到APP內的內容。


iOS平臺設計規範(二)APP架構



二、模態(Modality)

模態,是一種設計方式。一般作為臨時性的形式出現在頁面當中,需要顯示操作按鈕才可以退出。模態的意義在於:

  • 幫助用戶專注於一項與當前頁面密切相關的任務或選項
  • 確保用戶可以對重要操作採取行動


iOS平臺設計規範(二)APP架構



iOS提供您在應用中特定情況下使用的警報,活動視圖(或共享表)和操作表。在iOS13以下的版本,你需要自定義以下模態內容的演示樣式,而iOS 13及更高版本則默認以下演示樣式:

工作表

開卡片時被暫停的任務。用可以通過以下方式關閉卡片:

  • 從屏幕頂部向下滑動
  • 當卡片內容滾動到頂部時,從屏幕上的任何位置向下滑動
  • 點擊“關閉/取消”按鈕


注:工作表常用於無法啟用複雜任務的非模擬內容。

全屏

全屏模態視圖的演示樣式是涵蓋整個屏幕的,且完全覆蓋了之前的視圖,它最大限度地減輕了視覺上的干擾。用戶可以點擊按鈕來關閉全屏模態視圖。

對沉浸式內容(如視頻、照片或照相機視圖)使用全屏模態視圖,或者得益於全屏模態視圖的一些複雜任務(如標記文檔或編輯照片)。

注:如果使用當前上下文模式視圖樣式在拆分視圖窗格、彈出窗口或其他非全屏視圖中顯示模式內容,則在緊湊環境中顯示模式內容時應切換到使用工作表。

創建原則:

1、明確說明加載狀態

只有需要用戶集中注意力在做出選擇或執行與當前頁面不同的任務時,才能創建模態體驗。模態體驗使用戶脫離當前的頁面並需要用戶主動關閉,因此只有當創建模態體驗有明確的好處時才使用它。

2、在傳達重要信息或操作的情況下才使用警示框

通常情況下,彈出警示框意味著出現了問題。因為警示框會中斷體驗,需要點擊才能關閉。所以要讓用戶認為打斷是有必要的,這一點很重要。

3、確保模態上的任務簡單且集中

不要在你的APP中創建另一個APP。如果一個模態任務太複雜,那麼當用戶進入模態視圖時,他們可能會忽略他們之前被暫停的任務。

尤其謹慎創建太多層級結構的模態任務,因為用戶可能會在多個視圖中迷失不知道怎麼返回或忘記怎麼返回。如果模態任務必須包含子視圖,請提供清晰的返回路徑和完成路徑。

除非完成任務,否則不要使用“完成”按鈕。

4、始終要有取消/關閉模態視圖的按鈕

例如:你可以使用“完成”或“取消”。至少有一個按鈕以確保輔助技術訪問模態視圖,並代替手勢關閉模態視圖。

5、必要時,在關閉模態視圖之前進行確認,避免數據丟失

無論用戶使用手勢還是按鈕來關閉模態視圖,如果該操作可能導致用戶生成內容丟失,請提供解釋情況的操作表,併為用戶提供解決方法。


iOS平臺設計規範(二)APP架構



6、不要讓模態視圖出現在Popover(彈出式氣泡)上

除非是警示框,任何元素都不該出現在Popover上。在極少數情況下,當用戶在Popover中執行操作後需要用到模態視圖時,請在顯示模態視圖之前先關閉Popover。

7、通常,為模態任務設置一個標題

當用戶進入模態任務時,他們會離開之前的頁面,因此最好使前後操作清晰連貫。你也可以在視圖的其他部分中,提供更全面描述任務或指導的文本。

8、模態視圖外觀應與APP風格統一

例如,當模態視圖包含導航欄時,它應該採用與APP導航欄相同的外觀。

9、為模態視圖的展示提供一個合適的過渡方式

使用與APP風格統一的過渡樣式,增強用戶對內容轉變的認知。iOS默認的過渡方式是:模式視圖從屏幕底部向上滑入,被關閉時向下滑出。注意在整個APP中使用統一的模態轉換樣式。

三、導航(Navigation)

用戶往往會忽略APP的導航,除非當某些操作達不到他們的期望。我們的任務是在不會引起用戶過度注意的情況下,讓導航結構清晰、目的明確。導航在APP中應該顯得自然和熟悉,不應該主導界面或成為頁面內容中的焦點。

在iOS中,有三種主要的導航樣式:

(1) 層級導航

每一屏只能做一個選擇,直到到達你的目的地。如果要前往另一個目的地,您必須按原路一級級返回,並從最開始的位置做出的選擇。iOS的設置和郵件兩個APP就是使用這種導航樣式。

(2) 平級導航

在不同內容類別間進行切換,像音樂和App Store兩個APP就是用的這種導航樣式。(也是目前APP最常用的導航樣式)

(3) 內容驅動或體驗驅動導航

在APP的不同內容間切換,或者由內容本身定義導航。遊戲、書籍和其他沉浸式APP通常使用此導航樣式。

一些APP會結合多種導航樣式,例如:使用平級導航的應用可以在每個類別中使用分層導航。

設計原則:

1、始終提供清晰明確的路徑

用戶應該知道他們在APP中的位置以及如何到達下一個目的地。無論導航風格如何,操作路徑必須符合邏輯,可預知易於遵循。

一般情況下,一個頁面只給用戶提供一個入口。如果他們需要在多個場景下看到一個頁面內容,請考慮使用操作表、警示框、彈出式氣泡或模態視圖。

2、設計一種能快速、輕鬆地獲取內容的信息結構

為你的APP設計一個信息架構,在這個架構中,只需要最少的點擊、最少的滑動和最少的頁面數量便可以訪問相應內容。

3、使用手勢操作讓頁面切換更流暢

讓用戶以最小的阻力在頁面之間跳轉。例如,你可以讓人們從頁面側面滑動以返回上一個頁面。

4、使用標準導航組件

儘可能使用標準導航控件,例如頁面控件,標籤欄,分段控件,表視圖,集合視圖和拆分視圖。用戶已經很熟悉這些控件了,這樣能夠讓用戶更輕鬆地使用你的APP。

5、使用導航欄貫穿層級結構

導航欄的標題可以顯示層級結構中的當前位置,返回按鈕可以輕鬆返回到上一位置。

6、使用 Tab Bar(標籤欄)展示對應類別的內容或功能

使用標籤欄顯示對應類別的內容或功能。標籤欄可讓人們快速輕鬆地在不同類別之間切換。

7、同一類型頁面不同內容時可以使用頁面控件

頁面控件能清楚地傳達可用頁面總數和當前頁面位置。天氣APP就是使用頁面控件來展示不同地理位置的天氣情況。

四、新手引導(Onboarding)

APP啟動的這段時間是吸引新用戶和留住老用戶的一個機會。所以,請設計快速、有趣或者具有引導意義的啟動體驗。

設計原則:

1、提供啟動頁面

啟動頁面在APP被打開時出現,在加載初始內容的同時,有啟動頁給人的印象是APP響應很快。

啟動頁很快會被APP的首頁取代,所以它應該儘量與首屏相似,本地化的文本和交互元素除外(這一點在國內APP當中非常罕見)。

2、合適的方向啟動

如果你的APP同時支持縱屏和橫屏,則應該以設備的當前方向啟動。如果你的APP只在一個方向上運行,則應始終以該方向啟動,並在需要時允許用戶旋轉設備。

如果是APP是處於橫屏模式下,那麼不管用戶將設備是向左還是向右旋轉,APP都應該隨著旋轉正確地選擇顯示方向。(當然,有特殊原因除外)

3、快速進入

儘量避免顯示閃屏、菜單和說明,這些都會讓用戶花更長的時間來看到內容並開始使用你的APP。相反,讓人們直接潛進入最好。如果你的APP需要教學介紹或是引導,請務必提供一種跳過它們的方法,而且切忌向老用戶展示它們。

4、預想用戶可能會需要的幫助

主動尋找和思考用戶可能被卡住的地方。例如:遊戲中在暫停或角色沒有前進時顯示一些有用的提示。讓用戶可以重播教程,以防第一次進入APP的他們錯過任何內容。

5、只在教程中展示的重要信息

為新用戶提供引導是好的,但這並不意味著這樣做就能成為優秀的APP。更重要的是,你應該讓APP更直觀。如果你的APP需要過多的引導,那麼請重新審視/反思你的設計。

6、讓學習變得有趣和易於發現

邊做邊學比閱讀一長串說明更有趣和有效。在上下文環境中,使用動畫和可交互性循序漸進地引導用戶。要避免顯示看起來像可交互的屏幕截圖。

7、不要在一開始就詢問用戶設置信息

用戶希望一進入APP就能馬上操作。為大多數人設計你的APP,讓其他的少數想要不同配置的人自己調整APP內的參數來滿足他們的需求。儘可能從設備設置和默認值或通過同步服務(如iCloud)來獲取設置信息。

如果一定要詢問設置信息,請在用戶第一次使用APP就出現提示,並且應該允許用戶稍後在APP的設置中進行修改。

8、避免在APP內顯示許可協議和免責申明

在下載APP之前,直接在App Store展示許可協議和免責聲明。如果你一定要在APP中展示這些,請確保他們融入你的設計,並且不會破壞用戶體驗。

9、在重新啟動前恢復之前的狀態

不要讓用戶為了回到APP之前的位置而重複步驟。保留並恢復APP的狀態,以便他們可以從上次離開位置繼續運行。

像人人都是產品經理APP在這塊就做的很好,在退出APP後,不管你什麼時候再重新打開APP,都是退出之前在看的那篇文章。有時候因為某些原因退出了APP又忘記收藏文章,就不用再重新搜索尋找,這點體驗非常好。

10、不要頻繁讓用戶對你的APP進行評分

過快或過於頻繁地要求評分是很令人反感的,並且會讓最終收到的有用反饋的數量減少。

為了獲得一個更全面、客觀的用戶反饋,讓用戶有時間對APP有一個基本的瞭解之後再進行評分。一定要提供關閉評分提示的方法,永遠不要強迫用戶為你的APP評分。

11、不鼓勵重啟

重新啟動APP很耗費時間,而且會讓你的APP看起來不是那麼可靠而且很難用。如果APP是因為內存或其他問題難以運行,使得系統只能重啟,那你需要先去解決這些問題。

五、請求許可 (Requesting Permission)

APP必須得到用戶的授權才可以訪問其個人信息,包括:當前位置、日曆、聯繫人信息、提醒和照片等。雖然用戶可能會覺得APP直接獲取個新信息可能更方便,但他們也希望能夠控對自己的隱私數據進行自我管控。

例如:用戶喜歡系統自動獲取自己的實際位置去標記照片或尋找附近的朋友,但他們仍然希望可以選擇關閉這些功能。

設計原則:

1、在APP需要用到時才向用戶請求個人數據

用戶對個人信息的請求產生質疑是很正常的,尤其是他們發現當前的請求完全沒有必要時。確保只在用戶必須要用到個人數據時才會發出權限請求。

例如:APP可能只有在激活位置跟蹤功能時才會請求獲得用戶的當前位置。


"


iOS平臺設計規範(二)APP架構

無論是UI、交互,還是產品經理,都應該熟讀iOS平臺設計規範。這對我們的產品設計,百利而無一弊。


iOS平臺設計規範(二)APP架構


無論是UI、交互,還是產品經理,都應該熟讀iOS平臺設計規範。這對我們的產品設計,百利而無一弊。


架構(APP Architecture)

一、加載(Loading)

當APP裡的內容正在加載時,一個空白或靜止的屏幕可能會讓APP看起來像是卡死了,從而讓用戶感到沮喪和不知所措,甚至可能導致用戶直接關掉APP放棄使用。


iOS平臺設計規範(二)APP架構



創建原則:

1、明確說明加載狀態

至少要有一個加載的圖標,可以表達正在發生的狀態。更好的方式是:使用類似進度條的形式,顯示明確的進度,讓用戶可以判斷自己大概需要等待多長時間。

2、儘快顯示內容

在用戶看到屏幕內容之前,不要讓用戶乾等著加載。你可以使用佔位符文本、圖形或動畫來告訴用戶,這個區域的內容還沒加載完成。在加載出內容後直接代替這些佔位符元素。後臺也要儘可能使用預加載,例如在播放動畫或用戶正在操作導航欄的選項卡時,後臺預先加載出來即將播放和顯示的內容。

3、自定義加載屏幕

雖然系統默認的進度指示器可以用,但有時會感覺它們脫離了主題,與APP的風格甚至顯得格格不入。設計師可以考慮用自定義動畫亦或是與APP風格相匹配的元素來設計,會使用戶有更沉浸式的體驗。


iOS平臺設計規範(二)APP架構



4、引導或娛樂用戶掩蓋加載時間

比如很多遊戲、視頻APP等,都可以放一段有趣的動畫或佔位圖作為加載提示,緩解用戶焦急的心情。(其實就是障眼法的意思)

缺點是:比較耗內存,一般遊戲APP裡用的比較多,普通的APP很少看到用動畫作為加載方式的,因為現在網絡越來越快,用戶只想儘快看到APP內的內容。


iOS平臺設計規範(二)APP架構



二、模態(Modality)

模態,是一種設計方式。一般作為臨時性的形式出現在頁面當中,需要顯示操作按鈕才可以退出。模態的意義在於:

  • 幫助用戶專注於一項與當前頁面密切相關的任務或選項
  • 確保用戶可以對重要操作採取行動


iOS平臺設計規範(二)APP架構



iOS提供您在應用中特定情況下使用的警報,活動視圖(或共享表)和操作表。在iOS13以下的版本,你需要自定義以下模態內容的演示樣式,而iOS 13及更高版本則默認以下演示樣式:

工作表

開卡片時被暫停的任務。用可以通過以下方式關閉卡片:

  • 從屏幕頂部向下滑動
  • 當卡片內容滾動到頂部時,從屏幕上的任何位置向下滑動
  • 點擊“關閉/取消”按鈕


注:工作表常用於無法啟用複雜任務的非模擬內容。

全屏

全屏模態視圖的演示樣式是涵蓋整個屏幕的,且完全覆蓋了之前的視圖,它最大限度地減輕了視覺上的干擾。用戶可以點擊按鈕來關閉全屏模態視圖。

對沉浸式內容(如視頻、照片或照相機視圖)使用全屏模態視圖,或者得益於全屏模態視圖的一些複雜任務(如標記文檔或編輯照片)。

注:如果使用當前上下文模式視圖樣式在拆分視圖窗格、彈出窗口或其他非全屏視圖中顯示模式內容,則在緊湊環境中顯示模式內容時應切換到使用工作表。

創建原則:

1、明確說明加載狀態

只有需要用戶集中注意力在做出選擇或執行與當前頁面不同的任務時,才能創建模態體驗。模態體驗使用戶脫離當前的頁面並需要用戶主動關閉,因此只有當創建模態體驗有明確的好處時才使用它。

2、在傳達重要信息或操作的情況下才使用警示框

通常情況下,彈出警示框意味著出現了問題。因為警示框會中斷體驗,需要點擊才能關閉。所以要讓用戶認為打斷是有必要的,這一點很重要。

3、確保模態上的任務簡單且集中

不要在你的APP中創建另一個APP。如果一個模態任務太複雜,那麼當用戶進入模態視圖時,他們可能會忽略他們之前被暫停的任務。

尤其謹慎創建太多層級結構的模態任務,因為用戶可能會在多個視圖中迷失不知道怎麼返回或忘記怎麼返回。如果模態任務必須包含子視圖,請提供清晰的返回路徑和完成路徑。

除非完成任務,否則不要使用“完成”按鈕。

4、始終要有取消/關閉模態視圖的按鈕

例如:你可以使用“完成”或“取消”。至少有一個按鈕以確保輔助技術訪問模態視圖,並代替手勢關閉模態視圖。

5、必要時,在關閉模態視圖之前進行確認,避免數據丟失

無論用戶使用手勢還是按鈕來關閉模態視圖,如果該操作可能導致用戶生成內容丟失,請提供解釋情況的操作表,併為用戶提供解決方法。


iOS平臺設計規範(二)APP架構



6、不要讓模態視圖出現在Popover(彈出式氣泡)上

除非是警示框,任何元素都不該出現在Popover上。在極少數情況下,當用戶在Popover中執行操作後需要用到模態視圖時,請在顯示模態視圖之前先關閉Popover。

7、通常,為模態任務設置一個標題

當用戶進入模態任務時,他們會離開之前的頁面,因此最好使前後操作清晰連貫。你也可以在視圖的其他部分中,提供更全面描述任務或指導的文本。

8、模態視圖外觀應與APP風格統一

例如,當模態視圖包含導航欄時,它應該採用與APP導航欄相同的外觀。

9、為模態視圖的展示提供一個合適的過渡方式

使用與APP風格統一的過渡樣式,增強用戶對內容轉變的認知。iOS默認的過渡方式是:模式視圖從屏幕底部向上滑入,被關閉時向下滑出。注意在整個APP中使用統一的模態轉換樣式。

三、導航(Navigation)

用戶往往會忽略APP的導航,除非當某些操作達不到他們的期望。我們的任務是在不會引起用戶過度注意的情況下,讓導航結構清晰、目的明確。導航在APP中應該顯得自然和熟悉,不應該主導界面或成為頁面內容中的焦點。

在iOS中,有三種主要的導航樣式:

(1) 層級導航

每一屏只能做一個選擇,直到到達你的目的地。如果要前往另一個目的地,您必須按原路一級級返回,並從最開始的位置做出的選擇。iOS的設置和郵件兩個APP就是使用這種導航樣式。

(2) 平級導航

在不同內容類別間進行切換,像音樂和App Store兩個APP就是用的這種導航樣式。(也是目前APP最常用的導航樣式)

(3) 內容驅動或體驗驅動導航

在APP的不同內容間切換,或者由內容本身定義導航。遊戲、書籍和其他沉浸式APP通常使用此導航樣式。

一些APP會結合多種導航樣式,例如:使用平級導航的應用可以在每個類別中使用分層導航。

設計原則:

1、始終提供清晰明確的路徑

用戶應該知道他們在APP中的位置以及如何到達下一個目的地。無論導航風格如何,操作路徑必須符合邏輯,可預知易於遵循。

一般情況下,一個頁面只給用戶提供一個入口。如果他們需要在多個場景下看到一個頁面內容,請考慮使用操作表、警示框、彈出式氣泡或模態視圖。

2、設計一種能快速、輕鬆地獲取內容的信息結構

為你的APP設計一個信息架構,在這個架構中,只需要最少的點擊、最少的滑動和最少的頁面數量便可以訪問相應內容。

3、使用手勢操作讓頁面切換更流暢

讓用戶以最小的阻力在頁面之間跳轉。例如,你可以讓人們從頁面側面滑動以返回上一個頁面。

4、使用標準導航組件

儘可能使用標準導航控件,例如頁面控件,標籤欄,分段控件,表視圖,集合視圖和拆分視圖。用戶已經很熟悉這些控件了,這樣能夠讓用戶更輕鬆地使用你的APP。

5、使用導航欄貫穿層級結構

導航欄的標題可以顯示層級結構中的當前位置,返回按鈕可以輕鬆返回到上一位置。

6、使用 Tab Bar(標籤欄)展示對應類別的內容或功能

使用標籤欄顯示對應類別的內容或功能。標籤欄可讓人們快速輕鬆地在不同類別之間切換。

7、同一類型頁面不同內容時可以使用頁面控件

頁面控件能清楚地傳達可用頁面總數和當前頁面位置。天氣APP就是使用頁面控件來展示不同地理位置的天氣情況。

四、新手引導(Onboarding)

APP啟動的這段時間是吸引新用戶和留住老用戶的一個機會。所以,請設計快速、有趣或者具有引導意義的啟動體驗。

設計原則:

1、提供啟動頁面

啟動頁面在APP被打開時出現,在加載初始內容的同時,有啟動頁給人的印象是APP響應很快。

啟動頁很快會被APP的首頁取代,所以它應該儘量與首屏相似,本地化的文本和交互元素除外(這一點在國內APP當中非常罕見)。

2、合適的方向啟動

如果你的APP同時支持縱屏和橫屏,則應該以設備的當前方向啟動。如果你的APP只在一個方向上運行,則應始終以該方向啟動,並在需要時允許用戶旋轉設備。

如果是APP是處於橫屏模式下,那麼不管用戶將設備是向左還是向右旋轉,APP都應該隨著旋轉正確地選擇顯示方向。(當然,有特殊原因除外)

3、快速進入

儘量避免顯示閃屏、菜單和說明,這些都會讓用戶花更長的時間來看到內容並開始使用你的APP。相反,讓人們直接潛進入最好。如果你的APP需要教學介紹或是引導,請務必提供一種跳過它們的方法,而且切忌向老用戶展示它們。

4、預想用戶可能會需要的幫助

主動尋找和思考用戶可能被卡住的地方。例如:遊戲中在暫停或角色沒有前進時顯示一些有用的提示。讓用戶可以重播教程,以防第一次進入APP的他們錯過任何內容。

5、只在教程中展示的重要信息

為新用戶提供引導是好的,但這並不意味著這樣做就能成為優秀的APP。更重要的是,你應該讓APP更直觀。如果你的APP需要過多的引導,那麼請重新審視/反思你的設計。

6、讓學習變得有趣和易於發現

邊做邊學比閱讀一長串說明更有趣和有效。在上下文環境中,使用動畫和可交互性循序漸進地引導用戶。要避免顯示看起來像可交互的屏幕截圖。

7、不要在一開始就詢問用戶設置信息

用戶希望一進入APP就能馬上操作。為大多數人設計你的APP,讓其他的少數想要不同配置的人自己調整APP內的參數來滿足他們的需求。儘可能從設備設置和默認值或通過同步服務(如iCloud)來獲取設置信息。

如果一定要詢問設置信息,請在用戶第一次使用APP就出現提示,並且應該允許用戶稍後在APP的設置中進行修改。

8、避免在APP內顯示許可協議和免責申明

在下載APP之前,直接在App Store展示許可協議和免責聲明。如果你一定要在APP中展示這些,請確保他們融入你的設計,並且不會破壞用戶體驗。

9、在重新啟動前恢復之前的狀態

不要讓用戶為了回到APP之前的位置而重複步驟。保留並恢復APP的狀態,以便他們可以從上次離開位置繼續運行。

像人人都是產品經理APP在這塊就做的很好,在退出APP後,不管你什麼時候再重新打開APP,都是退出之前在看的那篇文章。有時候因為某些原因退出了APP又忘記收藏文章,就不用再重新搜索尋找,這點體驗非常好。

10、不要頻繁讓用戶對你的APP進行評分

過快或過於頻繁地要求評分是很令人反感的,並且會讓最終收到的有用反饋的數量減少。

為了獲得一個更全面、客觀的用戶反饋,讓用戶有時間對APP有一個基本的瞭解之後再進行評分。一定要提供關閉評分提示的方法,永遠不要強迫用戶為你的APP評分。

11、不鼓勵重啟

重新啟動APP很耗費時間,而且會讓你的APP看起來不是那麼可靠而且很難用。如果APP是因為內存或其他問題難以運行,使得系統只能重啟,那你需要先去解決這些問題。

五、請求許可 (Requesting Permission)

APP必須得到用戶的授權才可以訪問其個人信息,包括:當前位置、日曆、聯繫人信息、提醒和照片等。雖然用戶可能會覺得APP直接獲取個新信息可能更方便,但他們也希望能夠控對自己的隱私數據進行自我管控。

例如:用戶喜歡系統自動獲取自己的實際位置去標記照片或尋找附近的朋友,但他們仍然希望可以選擇關閉這些功能。

設計原則:

1、在APP需要用到時才向用戶請求個人數據

用戶對個人信息的請求產生質疑是很正常的,尤其是他們發現當前的請求完全沒有必要時。確保只在用戶必須要用到個人數據時才會發出權限請求。

例如:APP可能只有在激活位置跟蹤功能時才會請求獲得用戶的當前位置。


iOS平臺設計規範(二)APP架構



2、解釋APP需要這些個人信息的原因

在系統的權限請求警示框中提供自定義文本(示例用途字符串)。使用簡短和具體、禮貌的文案,讓用戶感覺輕鬆,沒有壓力。文案中沒有必要包含APP的名稱 - 因為系統可以自動識別你的APP並帶入名稱。


"


iOS平臺設計規範(二)APP架構

無論是UI、交互,還是產品經理,都應該熟讀iOS平臺設計規範。這對我們的產品設計,百利而無一弊。


iOS平臺設計規範(二)APP架構


無論是UI、交互,還是產品經理,都應該熟讀iOS平臺設計規範。這對我們的產品設計,百利而無一弊。


架構(APP Architecture)

一、加載(Loading)

當APP裡的內容正在加載時,一個空白或靜止的屏幕可能會讓APP看起來像是卡死了,從而讓用戶感到沮喪和不知所措,甚至可能導致用戶直接關掉APP放棄使用。


iOS平臺設計規範(二)APP架構



創建原則:

1、明確說明加載狀態

至少要有一個加載的圖標,可以表達正在發生的狀態。更好的方式是:使用類似進度條的形式,顯示明確的進度,讓用戶可以判斷自己大概需要等待多長時間。

2、儘快顯示內容

在用戶看到屏幕內容之前,不要讓用戶乾等著加載。你可以使用佔位符文本、圖形或動畫來告訴用戶,這個區域的內容還沒加載完成。在加載出內容後直接代替這些佔位符元素。後臺也要儘可能使用預加載,例如在播放動畫或用戶正在操作導航欄的選項卡時,後臺預先加載出來即將播放和顯示的內容。

3、自定義加載屏幕

雖然系統默認的進度指示器可以用,但有時會感覺它們脫離了主題,與APP的風格甚至顯得格格不入。設計師可以考慮用自定義動畫亦或是與APP風格相匹配的元素來設計,會使用戶有更沉浸式的體驗。


iOS平臺設計規範(二)APP架構



4、引導或娛樂用戶掩蓋加載時間

比如很多遊戲、視頻APP等,都可以放一段有趣的動畫或佔位圖作為加載提示,緩解用戶焦急的心情。(其實就是障眼法的意思)

缺點是:比較耗內存,一般遊戲APP裡用的比較多,普通的APP很少看到用動畫作為加載方式的,因為現在網絡越來越快,用戶只想儘快看到APP內的內容。


iOS平臺設計規範(二)APP架構



二、模態(Modality)

模態,是一種設計方式。一般作為臨時性的形式出現在頁面當中,需要顯示操作按鈕才可以退出。模態的意義在於:

  • 幫助用戶專注於一項與當前頁面密切相關的任務或選項
  • 確保用戶可以對重要操作採取行動


iOS平臺設計規範(二)APP架構



iOS提供您在應用中特定情況下使用的警報,活動視圖(或共享表)和操作表。在iOS13以下的版本,你需要自定義以下模態內容的演示樣式,而iOS 13及更高版本則默認以下演示樣式:

工作表

開卡片時被暫停的任務。用可以通過以下方式關閉卡片:

  • 從屏幕頂部向下滑動
  • 當卡片內容滾動到頂部時,從屏幕上的任何位置向下滑動
  • 點擊“關閉/取消”按鈕


注:工作表常用於無法啟用複雜任務的非模擬內容。

全屏

全屏模態視圖的演示樣式是涵蓋整個屏幕的,且完全覆蓋了之前的視圖,它最大限度地減輕了視覺上的干擾。用戶可以點擊按鈕來關閉全屏模態視圖。

對沉浸式內容(如視頻、照片或照相機視圖)使用全屏模態視圖,或者得益於全屏模態視圖的一些複雜任務(如標記文檔或編輯照片)。

注:如果使用當前上下文模式視圖樣式在拆分視圖窗格、彈出窗口或其他非全屏視圖中顯示模式內容,則在緊湊環境中顯示模式內容時應切換到使用工作表。

創建原則:

1、明確說明加載狀態

只有需要用戶集中注意力在做出選擇或執行與當前頁面不同的任務時,才能創建模態體驗。模態體驗使用戶脫離當前的頁面並需要用戶主動關閉,因此只有當創建模態體驗有明確的好處時才使用它。

2、在傳達重要信息或操作的情況下才使用警示框

通常情況下,彈出警示框意味著出現了問題。因為警示框會中斷體驗,需要點擊才能關閉。所以要讓用戶認為打斷是有必要的,這一點很重要。

3、確保模態上的任務簡單且集中

不要在你的APP中創建另一個APP。如果一個模態任務太複雜,那麼當用戶進入模態視圖時,他們可能會忽略他們之前被暫停的任務。

尤其謹慎創建太多層級結構的模態任務,因為用戶可能會在多個視圖中迷失不知道怎麼返回或忘記怎麼返回。如果模態任務必須包含子視圖,請提供清晰的返回路徑和完成路徑。

除非完成任務,否則不要使用“完成”按鈕。

4、始終要有取消/關閉模態視圖的按鈕

例如:你可以使用“完成”或“取消”。至少有一個按鈕以確保輔助技術訪問模態視圖,並代替手勢關閉模態視圖。

5、必要時,在關閉模態視圖之前進行確認,避免數據丟失

無論用戶使用手勢還是按鈕來關閉模態視圖,如果該操作可能導致用戶生成內容丟失,請提供解釋情況的操作表,併為用戶提供解決方法。


iOS平臺設計規範(二)APP架構



6、不要讓模態視圖出現在Popover(彈出式氣泡)上

除非是警示框,任何元素都不該出現在Popover上。在極少數情況下,當用戶在Popover中執行操作後需要用到模態視圖時,請在顯示模態視圖之前先關閉Popover。

7、通常,為模態任務設置一個標題

當用戶進入模態任務時,他們會離開之前的頁面,因此最好使前後操作清晰連貫。你也可以在視圖的其他部分中,提供更全面描述任務或指導的文本。

8、模態視圖外觀應與APP風格統一

例如,當模態視圖包含導航欄時,它應該採用與APP導航欄相同的外觀。

9、為模態視圖的展示提供一個合適的過渡方式

使用與APP風格統一的過渡樣式,增強用戶對內容轉變的認知。iOS默認的過渡方式是:模式視圖從屏幕底部向上滑入,被關閉時向下滑出。注意在整個APP中使用統一的模態轉換樣式。

三、導航(Navigation)

用戶往往會忽略APP的導航,除非當某些操作達不到他們的期望。我們的任務是在不會引起用戶過度注意的情況下,讓導航結構清晰、目的明確。導航在APP中應該顯得自然和熟悉,不應該主導界面或成為頁面內容中的焦點。

在iOS中,有三種主要的導航樣式:

(1) 層級導航

每一屏只能做一個選擇,直到到達你的目的地。如果要前往另一個目的地,您必須按原路一級級返回,並從最開始的位置做出的選擇。iOS的設置和郵件兩個APP就是使用這種導航樣式。

(2) 平級導航

在不同內容類別間進行切換,像音樂和App Store兩個APP就是用的這種導航樣式。(也是目前APP最常用的導航樣式)

(3) 內容驅動或體驗驅動導航

在APP的不同內容間切換,或者由內容本身定義導航。遊戲、書籍和其他沉浸式APP通常使用此導航樣式。

一些APP會結合多種導航樣式,例如:使用平級導航的應用可以在每個類別中使用分層導航。

設計原則:

1、始終提供清晰明確的路徑

用戶應該知道他們在APP中的位置以及如何到達下一個目的地。無論導航風格如何,操作路徑必須符合邏輯,可預知易於遵循。

一般情況下,一個頁面只給用戶提供一個入口。如果他們需要在多個場景下看到一個頁面內容,請考慮使用操作表、警示框、彈出式氣泡或模態視圖。

2、設計一種能快速、輕鬆地獲取內容的信息結構

為你的APP設計一個信息架構,在這個架構中,只需要最少的點擊、最少的滑動和最少的頁面數量便可以訪問相應內容。

3、使用手勢操作讓頁面切換更流暢

讓用戶以最小的阻力在頁面之間跳轉。例如,你可以讓人們從頁面側面滑動以返回上一個頁面。

4、使用標準導航組件

儘可能使用標準導航控件,例如頁面控件,標籤欄,分段控件,表視圖,集合視圖和拆分視圖。用戶已經很熟悉這些控件了,這樣能夠讓用戶更輕鬆地使用你的APP。

5、使用導航欄貫穿層級結構

導航欄的標題可以顯示層級結構中的當前位置,返回按鈕可以輕鬆返回到上一位置。

6、使用 Tab Bar(標籤欄)展示對應類別的內容或功能

使用標籤欄顯示對應類別的內容或功能。標籤欄可讓人們快速輕鬆地在不同類別之間切換。

7、同一類型頁面不同內容時可以使用頁面控件

頁面控件能清楚地傳達可用頁面總數和當前頁面位置。天氣APP就是使用頁面控件來展示不同地理位置的天氣情況。

四、新手引導(Onboarding)

APP啟動的這段時間是吸引新用戶和留住老用戶的一個機會。所以,請設計快速、有趣或者具有引導意義的啟動體驗。

設計原則:

1、提供啟動頁面

啟動頁面在APP被打開時出現,在加載初始內容的同時,有啟動頁給人的印象是APP響應很快。

啟動頁很快會被APP的首頁取代,所以它應該儘量與首屏相似,本地化的文本和交互元素除外(這一點在國內APP當中非常罕見)。

2、合適的方向啟動

如果你的APP同時支持縱屏和橫屏,則應該以設備的當前方向啟動。如果你的APP只在一個方向上運行,則應始終以該方向啟動,並在需要時允許用戶旋轉設備。

如果是APP是處於橫屏模式下,那麼不管用戶將設備是向左還是向右旋轉,APP都應該隨著旋轉正確地選擇顯示方向。(當然,有特殊原因除外)

3、快速進入

儘量避免顯示閃屏、菜單和說明,這些都會讓用戶花更長的時間來看到內容並開始使用你的APP。相反,讓人們直接潛進入最好。如果你的APP需要教學介紹或是引導,請務必提供一種跳過它們的方法,而且切忌向老用戶展示它們。

4、預想用戶可能會需要的幫助

主動尋找和思考用戶可能被卡住的地方。例如:遊戲中在暫停或角色沒有前進時顯示一些有用的提示。讓用戶可以重播教程,以防第一次進入APP的他們錯過任何內容。

5、只在教程中展示的重要信息

為新用戶提供引導是好的,但這並不意味著這樣做就能成為優秀的APP。更重要的是,你應該讓APP更直觀。如果你的APP需要過多的引導,那麼請重新審視/反思你的設計。

6、讓學習變得有趣和易於發現

邊做邊學比閱讀一長串說明更有趣和有效。在上下文環境中,使用動畫和可交互性循序漸進地引導用戶。要避免顯示看起來像可交互的屏幕截圖。

7、不要在一開始就詢問用戶設置信息

用戶希望一進入APP就能馬上操作。為大多數人設計你的APP,讓其他的少數想要不同配置的人自己調整APP內的參數來滿足他們的需求。儘可能從設備設置和默認值或通過同步服務(如iCloud)來獲取設置信息。

如果一定要詢問設置信息,請在用戶第一次使用APP就出現提示,並且應該允許用戶稍後在APP的設置中進行修改。

8、避免在APP內顯示許可協議和免責申明

在下載APP之前,直接在App Store展示許可協議和免責聲明。如果你一定要在APP中展示這些,請確保他們融入你的設計,並且不會破壞用戶體驗。

9、在重新啟動前恢復之前的狀態

不要讓用戶為了回到APP之前的位置而重複步驟。保留並恢復APP的狀態,以便他們可以從上次離開位置繼續運行。

像人人都是產品經理APP在這塊就做的很好,在退出APP後,不管你什麼時候再重新打開APP,都是退出之前在看的那篇文章。有時候因為某些原因退出了APP又忘記收藏文章,就不用再重新搜索尋找,這點體驗非常好。

10、不要頻繁讓用戶對你的APP進行評分

過快或過於頻繁地要求評分是很令人反感的,並且會讓最終收到的有用反饋的數量減少。

為了獲得一個更全面、客觀的用戶反饋,讓用戶有時間對APP有一個基本的瞭解之後再進行評分。一定要提供關閉評分提示的方法,永遠不要強迫用戶為你的APP評分。

11、不鼓勵重啟

重新啟動APP很耗費時間,而且會讓你的APP看起來不是那麼可靠而且很難用。如果APP是因為內存或其他問題難以運行,使得系統只能重啟,那你需要先去解決這些問題。

五、請求許可 (Requesting Permission)

APP必須得到用戶的授權才可以訪問其個人信息,包括:當前位置、日曆、聯繫人信息、提醒和照片等。雖然用戶可能會覺得APP直接獲取個新信息可能更方便,但他們也希望能夠控對自己的隱私數據進行自我管控。

例如:用戶喜歡系統自動獲取自己的實際位置去標記照片或尋找附近的朋友,但他們仍然希望可以選擇關閉這些功能。

設計原則:

1、在APP需要用到時才向用戶請求個人數據

用戶對個人信息的請求產生質疑是很正常的,尤其是他們發現當前的請求完全沒有必要時。確保只在用戶必須要用到個人數據時才會發出權限請求。

例如:APP可能只有在激活位置跟蹤功能時才會請求獲得用戶的當前位置。


iOS平臺設計規範(二)APP架構



2、解釋APP需要這些個人信息的原因

在系統的權限請求警示框中提供自定義文本(示例用途字符串)。使用簡短和具體、禮貌的文案,讓用戶感覺輕鬆,沒有壓力。文案中沒有必要包含APP的名稱 - 因為系統可以自動識別你的APP並帶入名稱。


iOS平臺設計規範(二)APP架構



3、只有關乎到APP的正常運行時,才會在啟動時出現請求權限

如果你的APP顯然只有獲得他們的個人信息才能正常運行,那麼用戶也不會對這個請求感到很反感。

4、沒有必要時不要請求位置信息

在獲得位置位置信息之前,檢查系統以查看是否已啟用位置服務。如果已經開啟, 你可以在用戶真的需要用到該功能時再進行警示框提醒,甚至可以直接省略掉警示框。

5、使用系統提供的警示框樣式

你可以在標準的權限警示框中自定義文本,但不要直接複製標準警示框行為的提示文本和外觀樣式。

六、設置(Setting)

一些APP可能一開始就需要用戶進行設置或配置選項,但大部分APP應該避免或者講設置操作延遲。

成功的APP可以一開始就讓大多數人覺得好用、易用,同時還提供了一些便捷的路徑來調整體驗。當你的APP可以滿足大部分用戶的需求時,你就可以弱化他們對設置的需要。

1、推測可以從系統中得到什麼

如果APP需要有關用戶、設備或環境的信息,請儘可能向系統請求,而不是直接詢問用戶。

例如:如果你想要知道用戶的郵政編碼來提供本地選項時,可以向用戶請求獲取他們的位置。如果用戶拒絕訪問其當前位置,則優雅地退回到手動輸入。

2、仔細考慮APP中配置選項的優先級

APP的的主頁是用來放置關鍵內容或者常用選項的。次級頁面更適合放置偶爾才會更改的選項。

3、不經常更改的配置選項放在系統“設置”中

系統的“設置”APP是更改系統配置的中心位置,但用戶必須離開你的APP才能到達“設置”APP。能在APP中直接調整設置會更方便。

4、在適當的時候提供去設置的快捷方式

如果APP包含引導用戶到“設置”的文本,例如:“轉到設置> MyApp>隱私>位置服務”,則會提供一個自動打開該位置的按鈕。


"


iOS平臺設計規範(二)APP架構

無論是UI、交互,還是產品經理,都應該熟讀iOS平臺設計規範。這對我們的產品設計,百利而無一弊。


iOS平臺設計規範(二)APP架構


無論是UI、交互,還是產品經理,都應該熟讀iOS平臺設計規範。這對我們的產品設計,百利而無一弊。


架構(APP Architecture)

一、加載(Loading)

當APP裡的內容正在加載時,一個空白或靜止的屏幕可能會讓APP看起來像是卡死了,從而讓用戶感到沮喪和不知所措,甚至可能導致用戶直接關掉APP放棄使用。


iOS平臺設計規範(二)APP架構



創建原則:

1、明確說明加載狀態

至少要有一個加載的圖標,可以表達正在發生的狀態。更好的方式是:使用類似進度條的形式,顯示明確的進度,讓用戶可以判斷自己大概需要等待多長時間。

2、儘快顯示內容

在用戶看到屏幕內容之前,不要讓用戶乾等著加載。你可以使用佔位符文本、圖形或動畫來告訴用戶,這個區域的內容還沒加載完成。在加載出內容後直接代替這些佔位符元素。後臺也要儘可能使用預加載,例如在播放動畫或用戶正在操作導航欄的選項卡時,後臺預先加載出來即將播放和顯示的內容。

3、自定義加載屏幕

雖然系統默認的進度指示器可以用,但有時會感覺它們脫離了主題,與APP的風格甚至顯得格格不入。設計師可以考慮用自定義動畫亦或是與APP風格相匹配的元素來設計,會使用戶有更沉浸式的體驗。


iOS平臺設計規範(二)APP架構



4、引導或娛樂用戶掩蓋加載時間

比如很多遊戲、視頻APP等,都可以放一段有趣的動畫或佔位圖作為加載提示,緩解用戶焦急的心情。(其實就是障眼法的意思)

缺點是:比較耗內存,一般遊戲APP裡用的比較多,普通的APP很少看到用動畫作為加載方式的,因為現在網絡越來越快,用戶只想儘快看到APP內的內容。


iOS平臺設計規範(二)APP架構



二、模態(Modality)

模態,是一種設計方式。一般作為臨時性的形式出現在頁面當中,需要顯示操作按鈕才可以退出。模態的意義在於:

  • 幫助用戶專注於一項與當前頁面密切相關的任務或選項
  • 確保用戶可以對重要操作採取行動


iOS平臺設計規範(二)APP架構



iOS提供您在應用中特定情況下使用的警報,活動視圖(或共享表)和操作表。在iOS13以下的版本,你需要自定義以下模態內容的演示樣式,而iOS 13及更高版本則默認以下演示樣式:

工作表

開卡片時被暫停的任務。用可以通過以下方式關閉卡片:

  • 從屏幕頂部向下滑動
  • 當卡片內容滾動到頂部時,從屏幕上的任何位置向下滑動
  • 點擊“關閉/取消”按鈕


注:工作表常用於無法啟用複雜任務的非模擬內容。

全屏

全屏模態視圖的演示樣式是涵蓋整個屏幕的,且完全覆蓋了之前的視圖,它最大限度地減輕了視覺上的干擾。用戶可以點擊按鈕來關閉全屏模態視圖。

對沉浸式內容(如視頻、照片或照相機視圖)使用全屏模態視圖,或者得益於全屏模態視圖的一些複雜任務(如標記文檔或編輯照片)。

注:如果使用當前上下文模式視圖樣式在拆分視圖窗格、彈出窗口或其他非全屏視圖中顯示模式內容,則在緊湊環境中顯示模式內容時應切換到使用工作表。

創建原則:

1、明確說明加載狀態

只有需要用戶集中注意力在做出選擇或執行與當前頁面不同的任務時,才能創建模態體驗。模態體驗使用戶脫離當前的頁面並需要用戶主動關閉,因此只有當創建模態體驗有明確的好處時才使用它。

2、在傳達重要信息或操作的情況下才使用警示框

通常情況下,彈出警示框意味著出現了問題。因為警示框會中斷體驗,需要點擊才能關閉。所以要讓用戶認為打斷是有必要的,這一點很重要。

3、確保模態上的任務簡單且集中

不要在你的APP中創建另一個APP。如果一個模態任務太複雜,那麼當用戶進入模態視圖時,他們可能會忽略他們之前被暫停的任務。

尤其謹慎創建太多層級結構的模態任務,因為用戶可能會在多個視圖中迷失不知道怎麼返回或忘記怎麼返回。如果模態任務必須包含子視圖,請提供清晰的返回路徑和完成路徑。

除非完成任務,否則不要使用“完成”按鈕。

4、始終要有取消/關閉模態視圖的按鈕

例如:你可以使用“完成”或“取消”。至少有一個按鈕以確保輔助技術訪問模態視圖,並代替手勢關閉模態視圖。

5、必要時,在關閉模態視圖之前進行確認,避免數據丟失

無論用戶使用手勢還是按鈕來關閉模態視圖,如果該操作可能導致用戶生成內容丟失,請提供解釋情況的操作表,併為用戶提供解決方法。


iOS平臺設計規範(二)APP架構



6、不要讓模態視圖出現在Popover(彈出式氣泡)上

除非是警示框,任何元素都不該出現在Popover上。在極少數情況下,當用戶在Popover中執行操作後需要用到模態視圖時,請在顯示模態視圖之前先關閉Popover。

7、通常,為模態任務設置一個標題

當用戶進入模態任務時,他們會離開之前的頁面,因此最好使前後操作清晰連貫。你也可以在視圖的其他部分中,提供更全面描述任務或指導的文本。

8、模態視圖外觀應與APP風格統一

例如,當模態視圖包含導航欄時,它應該採用與APP導航欄相同的外觀。

9、為模態視圖的展示提供一個合適的過渡方式

使用與APP風格統一的過渡樣式,增強用戶對內容轉變的認知。iOS默認的過渡方式是:模式視圖從屏幕底部向上滑入,被關閉時向下滑出。注意在整個APP中使用統一的模態轉換樣式。

三、導航(Navigation)

用戶往往會忽略APP的導航,除非當某些操作達不到他們的期望。我們的任務是在不會引起用戶過度注意的情況下,讓導航結構清晰、目的明確。導航在APP中應該顯得自然和熟悉,不應該主導界面或成為頁面內容中的焦點。

在iOS中,有三種主要的導航樣式:

(1) 層級導航

每一屏只能做一個選擇,直到到達你的目的地。如果要前往另一個目的地,您必須按原路一級級返回,並從最開始的位置做出的選擇。iOS的設置和郵件兩個APP就是使用這種導航樣式。

(2) 平級導航

在不同內容類別間進行切換,像音樂和App Store兩個APP就是用的這種導航樣式。(也是目前APP最常用的導航樣式)

(3) 內容驅動或體驗驅動導航

在APP的不同內容間切換,或者由內容本身定義導航。遊戲、書籍和其他沉浸式APP通常使用此導航樣式。

一些APP會結合多種導航樣式,例如:使用平級導航的應用可以在每個類別中使用分層導航。

設計原則:

1、始終提供清晰明確的路徑

用戶應該知道他們在APP中的位置以及如何到達下一個目的地。無論導航風格如何,操作路徑必須符合邏輯,可預知易於遵循。

一般情況下,一個頁面只給用戶提供一個入口。如果他們需要在多個場景下看到一個頁面內容,請考慮使用操作表、警示框、彈出式氣泡或模態視圖。

2、設計一種能快速、輕鬆地獲取內容的信息結構

為你的APP設計一個信息架構,在這個架構中,只需要最少的點擊、最少的滑動和最少的頁面數量便可以訪問相應內容。

3、使用手勢操作讓頁面切換更流暢

讓用戶以最小的阻力在頁面之間跳轉。例如,你可以讓人們從頁面側面滑動以返回上一個頁面。

4、使用標準導航組件

儘可能使用標準導航控件,例如頁面控件,標籤欄,分段控件,表視圖,集合視圖和拆分視圖。用戶已經很熟悉這些控件了,這樣能夠讓用戶更輕鬆地使用你的APP。

5、使用導航欄貫穿層級結構

導航欄的標題可以顯示層級結構中的當前位置,返回按鈕可以輕鬆返回到上一位置。

6、使用 Tab Bar(標籤欄)展示對應類別的內容或功能

使用標籤欄顯示對應類別的內容或功能。標籤欄可讓人們快速輕鬆地在不同類別之間切換。

7、同一類型頁面不同內容時可以使用頁面控件

頁面控件能清楚地傳達可用頁面總數和當前頁面位置。天氣APP就是使用頁面控件來展示不同地理位置的天氣情況。

四、新手引導(Onboarding)

APP啟動的這段時間是吸引新用戶和留住老用戶的一個機會。所以,請設計快速、有趣或者具有引導意義的啟動體驗。

設計原則:

1、提供啟動頁面

啟動頁面在APP被打開時出現,在加載初始內容的同時,有啟動頁給人的印象是APP響應很快。

啟動頁很快會被APP的首頁取代,所以它應該儘量與首屏相似,本地化的文本和交互元素除外(這一點在國內APP當中非常罕見)。

2、合適的方向啟動

如果你的APP同時支持縱屏和橫屏,則應該以設備的當前方向啟動。如果你的APP只在一個方向上運行,則應始終以該方向啟動,並在需要時允許用戶旋轉設備。

如果是APP是處於橫屏模式下,那麼不管用戶將設備是向左還是向右旋轉,APP都應該隨著旋轉正確地選擇顯示方向。(當然,有特殊原因除外)

3、快速進入

儘量避免顯示閃屏、菜單和說明,這些都會讓用戶花更長的時間來看到內容並開始使用你的APP。相反,讓人們直接潛進入最好。如果你的APP需要教學介紹或是引導,請務必提供一種跳過它們的方法,而且切忌向老用戶展示它們。

4、預想用戶可能會需要的幫助

主動尋找和思考用戶可能被卡住的地方。例如:遊戲中在暫停或角色沒有前進時顯示一些有用的提示。讓用戶可以重播教程,以防第一次進入APP的他們錯過任何內容。

5、只在教程中展示的重要信息

為新用戶提供引導是好的,但這並不意味著這樣做就能成為優秀的APP。更重要的是,你應該讓APP更直觀。如果你的APP需要過多的引導,那麼請重新審視/反思你的設計。

6、讓學習變得有趣和易於發現

邊做邊學比閱讀一長串說明更有趣和有效。在上下文環境中,使用動畫和可交互性循序漸進地引導用戶。要避免顯示看起來像可交互的屏幕截圖。

7、不要在一開始就詢問用戶設置信息

用戶希望一進入APP就能馬上操作。為大多數人設計你的APP,讓其他的少數想要不同配置的人自己調整APP內的參數來滿足他們的需求。儘可能從設備設置和默認值或通過同步服務(如iCloud)來獲取設置信息。

如果一定要詢問設置信息,請在用戶第一次使用APP就出現提示,並且應該允許用戶稍後在APP的設置中進行修改。

8、避免在APP內顯示許可協議和免責申明

在下載APP之前,直接在App Store展示許可協議和免責聲明。如果你一定要在APP中展示這些,請確保他們融入你的設計,並且不會破壞用戶體驗。

9、在重新啟動前恢復之前的狀態

不要讓用戶為了回到APP之前的位置而重複步驟。保留並恢復APP的狀態,以便他們可以從上次離開位置繼續運行。

像人人都是產品經理APP在這塊就做的很好,在退出APP後,不管你什麼時候再重新打開APP,都是退出之前在看的那篇文章。有時候因為某些原因退出了APP又忘記收藏文章,就不用再重新搜索尋找,這點體驗非常好。

10、不要頻繁讓用戶對你的APP進行評分

過快或過於頻繁地要求評分是很令人反感的,並且會讓最終收到的有用反饋的數量減少。

為了獲得一個更全面、客觀的用戶反饋,讓用戶有時間對APP有一個基本的瞭解之後再進行評分。一定要提供關閉評分提示的方法,永遠不要強迫用戶為你的APP評分。

11、不鼓勵重啟

重新啟動APP很耗費時間,而且會讓你的APP看起來不是那麼可靠而且很難用。如果APP是因為內存或其他問題難以運行,使得系統只能重啟,那你需要先去解決這些問題。

五、請求許可 (Requesting Permission)

APP必須得到用戶的授權才可以訪問其個人信息,包括:當前位置、日曆、聯繫人信息、提醒和照片等。雖然用戶可能會覺得APP直接獲取個新信息可能更方便,但他們也希望能夠控對自己的隱私數據進行自我管控。

例如:用戶喜歡系統自動獲取自己的實際位置去標記照片或尋找附近的朋友,但他們仍然希望可以選擇關閉這些功能。

設計原則:

1、在APP需要用到時才向用戶請求個人數據

用戶對個人信息的請求產生質疑是很正常的,尤其是他們發現當前的請求完全沒有必要時。確保只在用戶必須要用到個人數據時才會發出權限請求。

例如:APP可能只有在激活位置跟蹤功能時才會請求獲得用戶的當前位置。


iOS平臺設計規範(二)APP架構



2、解釋APP需要這些個人信息的原因

在系統的權限請求警示框中提供自定義文本(示例用途字符串)。使用簡短和具體、禮貌的文案,讓用戶感覺輕鬆,沒有壓力。文案中沒有必要包含APP的名稱 - 因為系統可以自動識別你的APP並帶入名稱。


iOS平臺設計規範(二)APP架構



3、只有關乎到APP的正常運行時,才會在啟動時出現請求權限

如果你的APP顯然只有獲得他們的個人信息才能正常運行,那麼用戶也不會對這個請求感到很反感。

4、沒有必要時不要請求位置信息

在獲得位置位置信息之前,檢查系統以查看是否已啟用位置服務。如果已經開啟, 你可以在用戶真的需要用到該功能時再進行警示框提醒,甚至可以直接省略掉警示框。

5、使用系統提供的警示框樣式

你可以在標準的權限警示框中自定義文本,但不要直接複製標準警示框行為的提示文本和外觀樣式。

六、設置(Setting)

一些APP可能一開始就需要用戶進行設置或配置選項,但大部分APP應該避免或者講設置操作延遲。

成功的APP可以一開始就讓大多數人覺得好用、易用,同時還提供了一些便捷的路徑來調整體驗。當你的APP可以滿足大部分用戶的需求時,你就可以弱化他們對設置的需要。

1、推測可以從系統中得到什麼

如果APP需要有關用戶、設備或環境的信息,請儘可能向系統請求,而不是直接詢問用戶。

例如:如果你想要知道用戶的郵政編碼來提供本地選項時,可以向用戶請求獲取他們的位置。如果用戶拒絕訪問其當前位置,則優雅地退回到手動輸入。

2、仔細考慮APP中配置選項的優先級

APP的的主頁是用來放置關鍵內容或者常用選項的。次級頁面更適合放置偶爾才會更改的選項。

3、不經常更改的配置選項放在系統“設置”中

系統的“設置”APP是更改系統配置的中心位置,但用戶必須離開你的APP才能到達“設置”APP。能在APP中直接調整設置會更方便。

4、在適當的時候提供去設置的快捷方式

如果APP包含引導用戶到“設置”的文本,例如:“轉到設置> MyApp>隱私>位置服務”,則會提供一個自動打開該位置的按鈕。


iOS平臺設計規範(二)APP架構


架構(APP Architecture)

一、加載(Loading)

當APP裡的內容正在加載時,一個空白或靜止的屏幕可能會讓APP看起來像是卡死了,從而讓用戶感到沮喪和不知所措,甚至可能導致用戶直接關掉APP放棄使用。


"


iOS平臺設計規範(二)APP架構

無論是UI、交互,還是產品經理,都應該熟讀iOS平臺設計規範。這對我們的產品設計,百利而無一弊。


iOS平臺設計規範(二)APP架構


無論是UI、交互,還是產品經理,都應該熟讀iOS平臺設計規範。這對我們的產品設計,百利而無一弊。


架構(APP Architecture)

一、加載(Loading)

當APP裡的內容正在加載時,一個空白或靜止的屏幕可能會讓APP看起來像是卡死了,從而讓用戶感到沮喪和不知所措,甚至可能導致用戶直接關掉APP放棄使用。


iOS平臺設計規範(二)APP架構



創建原則:

1、明確說明加載狀態

至少要有一個加載的圖標,可以表達正在發生的狀態。更好的方式是:使用類似進度條的形式,顯示明確的進度,讓用戶可以判斷自己大概需要等待多長時間。

2、儘快顯示內容

在用戶看到屏幕內容之前,不要讓用戶乾等著加載。你可以使用佔位符文本、圖形或動畫來告訴用戶,這個區域的內容還沒加載完成。在加載出內容後直接代替這些佔位符元素。後臺也要儘可能使用預加載,例如在播放動畫或用戶正在操作導航欄的選項卡時,後臺預先加載出來即將播放和顯示的內容。

3、自定義加載屏幕

雖然系統默認的進度指示器可以用,但有時會感覺它們脫離了主題,與APP的風格甚至顯得格格不入。設計師可以考慮用自定義動畫亦或是與APP風格相匹配的元素來設計,會使用戶有更沉浸式的體驗。


iOS平臺設計規範(二)APP架構



4、引導或娛樂用戶掩蓋加載時間

比如很多遊戲、視頻APP等,都可以放一段有趣的動畫或佔位圖作為加載提示,緩解用戶焦急的心情。(其實就是障眼法的意思)

缺點是:比較耗內存,一般遊戲APP裡用的比較多,普通的APP很少看到用動畫作為加載方式的,因為現在網絡越來越快,用戶只想儘快看到APP內的內容。


iOS平臺設計規範(二)APP架構



二、模態(Modality)

模態,是一種設計方式。一般作為臨時性的形式出現在頁面當中,需要顯示操作按鈕才可以退出。模態的意義在於:

  • 幫助用戶專注於一項與當前頁面密切相關的任務或選項
  • 確保用戶可以對重要操作採取行動


iOS平臺設計規範(二)APP架構



iOS提供您在應用中特定情況下使用的警報,活動視圖(或共享表)和操作表。在iOS13以下的版本,你需要自定義以下模態內容的演示樣式,而iOS 13及更高版本則默認以下演示樣式:

工作表

開卡片時被暫停的任務。用可以通過以下方式關閉卡片:

  • 從屏幕頂部向下滑動
  • 當卡片內容滾動到頂部時,從屏幕上的任何位置向下滑動
  • 點擊“關閉/取消”按鈕


注:工作表常用於無法啟用複雜任務的非模擬內容。

全屏

全屏模態視圖的演示樣式是涵蓋整個屏幕的,且完全覆蓋了之前的視圖,它最大限度地減輕了視覺上的干擾。用戶可以點擊按鈕來關閉全屏模態視圖。

對沉浸式內容(如視頻、照片或照相機視圖)使用全屏模態視圖,或者得益於全屏模態視圖的一些複雜任務(如標記文檔或編輯照片)。

注:如果使用當前上下文模式視圖樣式在拆分視圖窗格、彈出窗口或其他非全屏視圖中顯示模式內容,則在緊湊環境中顯示模式內容時應切換到使用工作表。

創建原則:

1、明確說明加載狀態

只有需要用戶集中注意力在做出選擇或執行與當前頁面不同的任務時,才能創建模態體驗。模態體驗使用戶脫離當前的頁面並需要用戶主動關閉,因此只有當創建模態體驗有明確的好處時才使用它。

2、在傳達重要信息或操作的情況下才使用警示框

通常情況下,彈出警示框意味著出現了問題。因為警示框會中斷體驗,需要點擊才能關閉。所以要讓用戶認為打斷是有必要的,這一點很重要。

3、確保模態上的任務簡單且集中

不要在你的APP中創建另一個APP。如果一個模態任務太複雜,那麼當用戶進入模態視圖時,他們可能會忽略他們之前被暫停的任務。

尤其謹慎創建太多層級結構的模態任務,因為用戶可能會在多個視圖中迷失不知道怎麼返回或忘記怎麼返回。如果模態任務必須包含子視圖,請提供清晰的返回路徑和完成路徑。

除非完成任務,否則不要使用“完成”按鈕。

4、始終要有取消/關閉模態視圖的按鈕

例如:你可以使用“完成”或“取消”。至少有一個按鈕以確保輔助技術訪問模態視圖,並代替手勢關閉模態視圖。

5、必要時,在關閉模態視圖之前進行確認,避免數據丟失

無論用戶使用手勢還是按鈕來關閉模態視圖,如果該操作可能導致用戶生成內容丟失,請提供解釋情況的操作表,併為用戶提供解決方法。


iOS平臺設計規範(二)APP架構



6、不要讓模態視圖出現在Popover(彈出式氣泡)上

除非是警示框,任何元素都不該出現在Popover上。在極少數情況下,當用戶在Popover中執行操作後需要用到模態視圖時,請在顯示模態視圖之前先關閉Popover。

7、通常,為模態任務設置一個標題

當用戶進入模態任務時,他們會離開之前的頁面,因此最好使前後操作清晰連貫。你也可以在視圖的其他部分中,提供更全面描述任務或指導的文本。

8、模態視圖外觀應與APP風格統一

例如,當模態視圖包含導航欄時,它應該採用與APP導航欄相同的外觀。

9、為模態視圖的展示提供一個合適的過渡方式

使用與APP風格統一的過渡樣式,增強用戶對內容轉變的認知。iOS默認的過渡方式是:模式視圖從屏幕底部向上滑入,被關閉時向下滑出。注意在整個APP中使用統一的模態轉換樣式。

三、導航(Navigation)

用戶往往會忽略APP的導航,除非當某些操作達不到他們的期望。我們的任務是在不會引起用戶過度注意的情況下,讓導航結構清晰、目的明確。導航在APP中應該顯得自然和熟悉,不應該主導界面或成為頁面內容中的焦點。

在iOS中,有三種主要的導航樣式:

(1) 層級導航

每一屏只能做一個選擇,直到到達你的目的地。如果要前往另一個目的地,您必須按原路一級級返回,並從最開始的位置做出的選擇。iOS的設置和郵件兩個APP就是使用這種導航樣式。

(2) 平級導航

在不同內容類別間進行切換,像音樂和App Store兩個APP就是用的這種導航樣式。(也是目前APP最常用的導航樣式)

(3) 內容驅動或體驗驅動導航

在APP的不同內容間切換,或者由內容本身定義導航。遊戲、書籍和其他沉浸式APP通常使用此導航樣式。

一些APP會結合多種導航樣式,例如:使用平級導航的應用可以在每個類別中使用分層導航。

設計原則:

1、始終提供清晰明確的路徑

用戶應該知道他們在APP中的位置以及如何到達下一個目的地。無論導航風格如何,操作路徑必須符合邏輯,可預知易於遵循。

一般情況下,一個頁面只給用戶提供一個入口。如果他們需要在多個場景下看到一個頁面內容,請考慮使用操作表、警示框、彈出式氣泡或模態視圖。

2、設計一種能快速、輕鬆地獲取內容的信息結構

為你的APP設計一個信息架構,在這個架構中,只需要最少的點擊、最少的滑動和最少的頁面數量便可以訪問相應內容。

3、使用手勢操作讓頁面切換更流暢

讓用戶以最小的阻力在頁面之間跳轉。例如,你可以讓人們從頁面側面滑動以返回上一個頁面。

4、使用標準導航組件

儘可能使用標準導航控件,例如頁面控件,標籤欄,分段控件,表視圖,集合視圖和拆分視圖。用戶已經很熟悉這些控件了,這樣能夠讓用戶更輕鬆地使用你的APP。

5、使用導航欄貫穿層級結構

導航欄的標題可以顯示層級結構中的當前位置,返回按鈕可以輕鬆返回到上一位置。

6、使用 Tab Bar(標籤欄)展示對應類別的內容或功能

使用標籤欄顯示對應類別的內容或功能。標籤欄可讓人們快速輕鬆地在不同類別之間切換。

7、同一類型頁面不同內容時可以使用頁面控件

頁面控件能清楚地傳達可用頁面總數和當前頁面位置。天氣APP就是使用頁面控件來展示不同地理位置的天氣情況。

四、新手引導(Onboarding)

APP啟動的這段時間是吸引新用戶和留住老用戶的一個機會。所以,請設計快速、有趣或者具有引導意義的啟動體驗。

設計原則:

1、提供啟動頁面

啟動頁面在APP被打開時出現,在加載初始內容的同時,有啟動頁給人的印象是APP響應很快。

啟動頁很快會被APP的首頁取代,所以它應該儘量與首屏相似,本地化的文本和交互元素除外(這一點在國內APP當中非常罕見)。

2、合適的方向啟動

如果你的APP同時支持縱屏和橫屏,則應該以設備的當前方向啟動。如果你的APP只在一個方向上運行,則應始終以該方向啟動,並在需要時允許用戶旋轉設備。

如果是APP是處於橫屏模式下,那麼不管用戶將設備是向左還是向右旋轉,APP都應該隨著旋轉正確地選擇顯示方向。(當然,有特殊原因除外)

3、快速進入

儘量避免顯示閃屏、菜單和說明,這些都會讓用戶花更長的時間來看到內容並開始使用你的APP。相反,讓人們直接潛進入最好。如果你的APP需要教學介紹或是引導,請務必提供一種跳過它們的方法,而且切忌向老用戶展示它們。

4、預想用戶可能會需要的幫助

主動尋找和思考用戶可能被卡住的地方。例如:遊戲中在暫停或角色沒有前進時顯示一些有用的提示。讓用戶可以重播教程,以防第一次進入APP的他們錯過任何內容。

5、只在教程中展示的重要信息

為新用戶提供引導是好的,但這並不意味著這樣做就能成為優秀的APP。更重要的是,你應該讓APP更直觀。如果你的APP需要過多的引導,那麼請重新審視/反思你的設計。

6、讓學習變得有趣和易於發現

邊做邊學比閱讀一長串說明更有趣和有效。在上下文環境中,使用動畫和可交互性循序漸進地引導用戶。要避免顯示看起來像可交互的屏幕截圖。

7、不要在一開始就詢問用戶設置信息

用戶希望一進入APP就能馬上操作。為大多數人設計你的APP,讓其他的少數想要不同配置的人自己調整APP內的參數來滿足他們的需求。儘可能從設備設置和默認值或通過同步服務(如iCloud)來獲取設置信息。

如果一定要詢問設置信息,請在用戶第一次使用APP就出現提示,並且應該允許用戶稍後在APP的設置中進行修改。

8、避免在APP內顯示許可協議和免責申明

在下載APP之前,直接在App Store展示許可協議和免責聲明。如果你一定要在APP中展示這些,請確保他們融入你的設計,並且不會破壞用戶體驗。

9、在重新啟動前恢復之前的狀態

不要讓用戶為了回到APP之前的位置而重複步驟。保留並恢復APP的狀態,以便他們可以從上次離開位置繼續運行。

像人人都是產品經理APP在這塊就做的很好,在退出APP後,不管你什麼時候再重新打開APP,都是退出之前在看的那篇文章。有時候因為某些原因退出了APP又忘記收藏文章,就不用再重新搜索尋找,這點體驗非常好。

10、不要頻繁讓用戶對你的APP進行評分

過快或過於頻繁地要求評分是很令人反感的,並且會讓最終收到的有用反饋的數量減少。

為了獲得一個更全面、客觀的用戶反饋,讓用戶有時間對APP有一個基本的瞭解之後再進行評分。一定要提供關閉評分提示的方法,永遠不要強迫用戶為你的APP評分。

11、不鼓勵重啟

重新啟動APP很耗費時間,而且會讓你的APP看起來不是那麼可靠而且很難用。如果APP是因為內存或其他問題難以運行,使得系統只能重啟,那你需要先去解決這些問題。

五、請求許可 (Requesting Permission)

APP必須得到用戶的授權才可以訪問其個人信息,包括:當前位置、日曆、聯繫人信息、提醒和照片等。雖然用戶可能會覺得APP直接獲取個新信息可能更方便,但他們也希望能夠控對自己的隱私數據進行自我管控。

例如:用戶喜歡系統自動獲取自己的實際位置去標記照片或尋找附近的朋友,但他們仍然希望可以選擇關閉這些功能。

設計原則:

1、在APP需要用到時才向用戶請求個人數據

用戶對個人信息的請求產生質疑是很正常的,尤其是他們發現當前的請求完全沒有必要時。確保只在用戶必須要用到個人數據時才會發出權限請求。

例如:APP可能只有在激活位置跟蹤功能時才會請求獲得用戶的當前位置。


iOS平臺設計規範(二)APP架構



2、解釋APP需要這些個人信息的原因

在系統的權限請求警示框中提供自定義文本(示例用途字符串)。使用簡短和具體、禮貌的文案,讓用戶感覺輕鬆,沒有壓力。文案中沒有必要包含APP的名稱 - 因為系統可以自動識別你的APP並帶入名稱。


iOS平臺設計規範(二)APP架構



3、只有關乎到APP的正常運行時,才會在啟動時出現請求權限

如果你的APP顯然只有獲得他們的個人信息才能正常運行,那麼用戶也不會對這個請求感到很反感。

4、沒有必要時不要請求位置信息

在獲得位置位置信息之前,檢查系統以查看是否已啟用位置服務。如果已經開啟, 你可以在用戶真的需要用到該功能時再進行警示框提醒,甚至可以直接省略掉警示框。

5、使用系統提供的警示框樣式

你可以在標準的權限警示框中自定義文本,但不要直接複製標準警示框行為的提示文本和外觀樣式。

六、設置(Setting)

一些APP可能一開始就需要用戶進行設置或配置選項,但大部分APP應該避免或者講設置操作延遲。

成功的APP可以一開始就讓大多數人覺得好用、易用,同時還提供了一些便捷的路徑來調整體驗。當你的APP可以滿足大部分用戶的需求時,你就可以弱化他們對設置的需要。

1、推測可以從系統中得到什麼

如果APP需要有關用戶、設備或環境的信息,請儘可能向系統請求,而不是直接詢問用戶。

例如:如果你想要知道用戶的郵政編碼來提供本地選項時,可以向用戶請求獲取他們的位置。如果用戶拒絕訪問其當前位置,則優雅地退回到手動輸入。

2、仔細考慮APP中配置選項的優先級

APP的的主頁是用來放置關鍵內容或者常用選項的。次級頁面更適合放置偶爾才會更改的選項。

3、不經常更改的配置選項放在系統“設置”中

系統的“設置”APP是更改系統配置的中心位置,但用戶必須離開你的APP才能到達“設置”APP。能在APP中直接調整設置會更方便。

4、在適當的時候提供去設置的快捷方式

如果APP包含引導用戶到“設置”的文本,例如:“轉到設置> MyApp>隱私>位置服務”,則會提供一個自動打開該位置的按鈕。


iOS平臺設計規範(二)APP架構


架構(APP Architecture)

一、加載(Loading)

當APP裡的內容正在加載時,一個空白或靜止的屏幕可能會讓APP看起來像是卡死了,從而讓用戶感到沮喪和不知所措,甚至可能導致用戶直接關掉APP放棄使用。


iOS平臺設計規範(二)APP架構



創建原則:

1、明確說明加載狀態

至少要有一個加載的圖標,可以表達正在發生的狀態。更好的方式是:使用類似進度條的形式,顯示明確的進度,讓用戶可以判斷自己大概需要等待多長時間。

2、儘快顯示內容

在用戶看到屏幕內容之前,不要讓用戶乾等著加載。你可以使用佔位符文本、圖形或動畫來告訴用戶,這個區域的內容還沒加載完成。在加載出內容後直接代替這些佔位符元素。後臺也要儘可能使用預加載,例如在播放動畫或用戶正在操作導航欄的選項卡時,後臺預先加載出來即將播放和顯示的內容。

3、自定義加載屏幕

雖然系統默認的進度指示器可以用,但有時會感覺它們脫離了主題,與APP的風格甚至顯得格格不入。設計師可以考慮用自定義動畫亦或是與APP風格相匹配的元素來設計,會使用戶有更沉浸式的體驗。


"


iOS平臺設計規範(二)APP架構

無論是UI、交互,還是產品經理,都應該熟讀iOS平臺設計規範。這對我們的產品設計,百利而無一弊。


iOS平臺設計規範(二)APP架構


無論是UI、交互,還是產品經理,都應該熟讀iOS平臺設計規範。這對我們的產品設計,百利而無一弊。


架構(APP Architecture)

一、加載(Loading)

當APP裡的內容正在加載時,一個空白或靜止的屏幕可能會讓APP看起來像是卡死了,從而讓用戶感到沮喪和不知所措,甚至可能導致用戶直接關掉APP放棄使用。


iOS平臺設計規範(二)APP架構



創建原則:

1、明確說明加載狀態

至少要有一個加載的圖標,可以表達正在發生的狀態。更好的方式是:使用類似進度條的形式,顯示明確的進度,讓用戶可以判斷自己大概需要等待多長時間。

2、儘快顯示內容

在用戶看到屏幕內容之前,不要讓用戶乾等著加載。你可以使用佔位符文本、圖形或動畫來告訴用戶,這個區域的內容還沒加載完成。在加載出內容後直接代替這些佔位符元素。後臺也要儘可能使用預加載,例如在播放動畫或用戶正在操作導航欄的選項卡時,後臺預先加載出來即將播放和顯示的內容。

3、自定義加載屏幕

雖然系統默認的進度指示器可以用,但有時會感覺它們脫離了主題,與APP的風格甚至顯得格格不入。設計師可以考慮用自定義動畫亦或是與APP風格相匹配的元素來設計,會使用戶有更沉浸式的體驗。


iOS平臺設計規範(二)APP架構



4、引導或娛樂用戶掩蓋加載時間

比如很多遊戲、視頻APP等,都可以放一段有趣的動畫或佔位圖作為加載提示,緩解用戶焦急的心情。(其實就是障眼法的意思)

缺點是:比較耗內存,一般遊戲APP裡用的比較多,普通的APP很少看到用動畫作為加載方式的,因為現在網絡越來越快,用戶只想儘快看到APP內的內容。


iOS平臺設計規範(二)APP架構



二、模態(Modality)

模態,是一種設計方式。一般作為臨時性的形式出現在頁面當中,需要顯示操作按鈕才可以退出。模態的意義在於:

  • 幫助用戶專注於一項與當前頁面密切相關的任務或選項
  • 確保用戶可以對重要操作採取行動


iOS平臺設計規範(二)APP架構



iOS提供您在應用中特定情況下使用的警報,活動視圖(或共享表)和操作表。在iOS13以下的版本,你需要自定義以下模態內容的演示樣式,而iOS 13及更高版本則默認以下演示樣式:

工作表

開卡片時被暫停的任務。用可以通過以下方式關閉卡片:

  • 從屏幕頂部向下滑動
  • 當卡片內容滾動到頂部時,從屏幕上的任何位置向下滑動
  • 點擊“關閉/取消”按鈕


注:工作表常用於無法啟用複雜任務的非模擬內容。

全屏

全屏模態視圖的演示樣式是涵蓋整個屏幕的,且完全覆蓋了之前的視圖,它最大限度地減輕了視覺上的干擾。用戶可以點擊按鈕來關閉全屏模態視圖。

對沉浸式內容(如視頻、照片或照相機視圖)使用全屏模態視圖,或者得益於全屏模態視圖的一些複雜任務(如標記文檔或編輯照片)。

注:如果使用當前上下文模式視圖樣式在拆分視圖窗格、彈出窗口或其他非全屏視圖中顯示模式內容,則在緊湊環境中顯示模式內容時應切換到使用工作表。

創建原則:

1、明確說明加載狀態

只有需要用戶集中注意力在做出選擇或執行與當前頁面不同的任務時,才能創建模態體驗。模態體驗使用戶脫離當前的頁面並需要用戶主動關閉,因此只有當創建模態體驗有明確的好處時才使用它。

2、在傳達重要信息或操作的情況下才使用警示框

通常情況下,彈出警示框意味著出現了問題。因為警示框會中斷體驗,需要點擊才能關閉。所以要讓用戶認為打斷是有必要的,這一點很重要。

3、確保模態上的任務簡單且集中

不要在你的APP中創建另一個APP。如果一個模態任務太複雜,那麼當用戶進入模態視圖時,他們可能會忽略他們之前被暫停的任務。

尤其謹慎創建太多層級結構的模態任務,因為用戶可能會在多個視圖中迷失不知道怎麼返回或忘記怎麼返回。如果模態任務必須包含子視圖,請提供清晰的返回路徑和完成路徑。

除非完成任務,否則不要使用“完成”按鈕。

4、始終要有取消/關閉模態視圖的按鈕

例如:你可以使用“完成”或“取消”。至少有一個按鈕以確保輔助技術訪問模態視圖,並代替手勢關閉模態視圖。

5、必要時,在關閉模態視圖之前進行確認,避免數據丟失

無論用戶使用手勢還是按鈕來關閉模態視圖,如果該操作可能導致用戶生成內容丟失,請提供解釋情況的操作表,併為用戶提供解決方法。


iOS平臺設計規範(二)APP架構



6、不要讓模態視圖出現在Popover(彈出式氣泡)上

除非是警示框,任何元素都不該出現在Popover上。在極少數情況下,當用戶在Popover中執行操作後需要用到模態視圖時,請在顯示模態視圖之前先關閉Popover。

7、通常,為模態任務設置一個標題

當用戶進入模態任務時,他們會離開之前的頁面,因此最好使前後操作清晰連貫。你也可以在視圖的其他部分中,提供更全面描述任務或指導的文本。

8、模態視圖外觀應與APP風格統一

例如,當模態視圖包含導航欄時,它應該採用與APP導航欄相同的外觀。

9、為模態視圖的展示提供一個合適的過渡方式

使用與APP風格統一的過渡樣式,增強用戶對內容轉變的認知。iOS默認的過渡方式是:模式視圖從屏幕底部向上滑入,被關閉時向下滑出。注意在整個APP中使用統一的模態轉換樣式。

三、導航(Navigation)

用戶往往會忽略APP的導航,除非當某些操作達不到他們的期望。我們的任務是在不會引起用戶過度注意的情況下,讓導航結構清晰、目的明確。導航在APP中應該顯得自然和熟悉,不應該主導界面或成為頁面內容中的焦點。

在iOS中,有三種主要的導航樣式:

(1) 層級導航

每一屏只能做一個選擇,直到到達你的目的地。如果要前往另一個目的地,您必須按原路一級級返回,並從最開始的位置做出的選擇。iOS的設置和郵件兩個APP就是使用這種導航樣式。

(2) 平級導航

在不同內容類別間進行切換,像音樂和App Store兩個APP就是用的這種導航樣式。(也是目前APP最常用的導航樣式)

(3) 內容驅動或體驗驅動導航

在APP的不同內容間切換,或者由內容本身定義導航。遊戲、書籍和其他沉浸式APP通常使用此導航樣式。

一些APP會結合多種導航樣式,例如:使用平級導航的應用可以在每個類別中使用分層導航。

設計原則:

1、始終提供清晰明確的路徑

用戶應該知道他們在APP中的位置以及如何到達下一個目的地。無論導航風格如何,操作路徑必須符合邏輯,可預知易於遵循。

一般情況下,一個頁面只給用戶提供一個入口。如果他們需要在多個場景下看到一個頁面內容,請考慮使用操作表、警示框、彈出式氣泡或模態視圖。

2、設計一種能快速、輕鬆地獲取內容的信息結構

為你的APP設計一個信息架構,在這個架構中,只需要最少的點擊、最少的滑動和最少的頁面數量便可以訪問相應內容。

3、使用手勢操作讓頁面切換更流暢

讓用戶以最小的阻力在頁面之間跳轉。例如,你可以讓人們從頁面側面滑動以返回上一個頁面。

4、使用標準導航組件

儘可能使用標準導航控件,例如頁面控件,標籤欄,分段控件,表視圖,集合視圖和拆分視圖。用戶已經很熟悉這些控件了,這樣能夠讓用戶更輕鬆地使用你的APP。

5、使用導航欄貫穿層級結構

導航欄的標題可以顯示層級結構中的當前位置,返回按鈕可以輕鬆返回到上一位置。

6、使用 Tab Bar(標籤欄)展示對應類別的內容或功能

使用標籤欄顯示對應類別的內容或功能。標籤欄可讓人們快速輕鬆地在不同類別之間切換。

7、同一類型頁面不同內容時可以使用頁面控件

頁面控件能清楚地傳達可用頁面總數和當前頁面位置。天氣APP就是使用頁面控件來展示不同地理位置的天氣情況。

四、新手引導(Onboarding)

APP啟動的這段時間是吸引新用戶和留住老用戶的一個機會。所以,請設計快速、有趣或者具有引導意義的啟動體驗。

設計原則:

1、提供啟動頁面

啟動頁面在APP被打開時出現,在加載初始內容的同時,有啟動頁給人的印象是APP響應很快。

啟動頁很快會被APP的首頁取代,所以它應該儘量與首屏相似,本地化的文本和交互元素除外(這一點在國內APP當中非常罕見)。

2、合適的方向啟動

如果你的APP同時支持縱屏和橫屏,則應該以設備的當前方向啟動。如果你的APP只在一個方向上運行,則應始終以該方向啟動,並在需要時允許用戶旋轉設備。

如果是APP是處於橫屏模式下,那麼不管用戶將設備是向左還是向右旋轉,APP都應該隨著旋轉正確地選擇顯示方向。(當然,有特殊原因除外)

3、快速進入

儘量避免顯示閃屏、菜單和說明,這些都會讓用戶花更長的時間來看到內容並開始使用你的APP。相反,讓人們直接潛進入最好。如果你的APP需要教學介紹或是引導,請務必提供一種跳過它們的方法,而且切忌向老用戶展示它們。

4、預想用戶可能會需要的幫助

主動尋找和思考用戶可能被卡住的地方。例如:遊戲中在暫停或角色沒有前進時顯示一些有用的提示。讓用戶可以重播教程,以防第一次進入APP的他們錯過任何內容。

5、只在教程中展示的重要信息

為新用戶提供引導是好的,但這並不意味著這樣做就能成為優秀的APP。更重要的是,你應該讓APP更直觀。如果你的APP需要過多的引導,那麼請重新審視/反思你的設計。

6、讓學習變得有趣和易於發現

邊做邊學比閱讀一長串說明更有趣和有效。在上下文環境中,使用動畫和可交互性循序漸進地引導用戶。要避免顯示看起來像可交互的屏幕截圖。

7、不要在一開始就詢問用戶設置信息

用戶希望一進入APP就能馬上操作。為大多數人設計你的APP,讓其他的少數想要不同配置的人自己調整APP內的參數來滿足他們的需求。儘可能從設備設置和默認值或通過同步服務(如iCloud)來獲取設置信息。

如果一定要詢問設置信息,請在用戶第一次使用APP就出現提示,並且應該允許用戶稍後在APP的設置中進行修改。

8、避免在APP內顯示許可協議和免責申明

在下載APP之前,直接在App Store展示許可協議和免責聲明。如果你一定要在APP中展示這些,請確保他們融入你的設計,並且不會破壞用戶體驗。

9、在重新啟動前恢復之前的狀態

不要讓用戶為了回到APP之前的位置而重複步驟。保留並恢復APP的狀態,以便他們可以從上次離開位置繼續運行。

像人人都是產品經理APP在這塊就做的很好,在退出APP後,不管你什麼時候再重新打開APP,都是退出之前在看的那篇文章。有時候因為某些原因退出了APP又忘記收藏文章,就不用再重新搜索尋找,這點體驗非常好。

10、不要頻繁讓用戶對你的APP進行評分

過快或過於頻繁地要求評分是很令人反感的,並且會讓最終收到的有用反饋的數量減少。

為了獲得一個更全面、客觀的用戶反饋,讓用戶有時間對APP有一個基本的瞭解之後再進行評分。一定要提供關閉評分提示的方法,永遠不要強迫用戶為你的APP評分。

11、不鼓勵重啟

重新啟動APP很耗費時間,而且會讓你的APP看起來不是那麼可靠而且很難用。如果APP是因為內存或其他問題難以運行,使得系統只能重啟,那你需要先去解決這些問題。

五、請求許可 (Requesting Permission)

APP必須得到用戶的授權才可以訪問其個人信息,包括:當前位置、日曆、聯繫人信息、提醒和照片等。雖然用戶可能會覺得APP直接獲取個新信息可能更方便,但他們也希望能夠控對自己的隱私數據進行自我管控。

例如:用戶喜歡系統自動獲取自己的實際位置去標記照片或尋找附近的朋友,但他們仍然希望可以選擇關閉這些功能。

設計原則:

1、在APP需要用到時才向用戶請求個人數據

用戶對個人信息的請求產生質疑是很正常的,尤其是他們發現當前的請求完全沒有必要時。確保只在用戶必須要用到個人數據時才會發出權限請求。

例如:APP可能只有在激活位置跟蹤功能時才會請求獲得用戶的當前位置。


iOS平臺設計規範(二)APP架構



2、解釋APP需要這些個人信息的原因

在系統的權限請求警示框中提供自定義文本(示例用途字符串)。使用簡短和具體、禮貌的文案,讓用戶感覺輕鬆,沒有壓力。文案中沒有必要包含APP的名稱 - 因為系統可以自動識別你的APP並帶入名稱。


iOS平臺設計規範(二)APP架構



3、只有關乎到APP的正常運行時,才會在啟動時出現請求權限

如果你的APP顯然只有獲得他們的個人信息才能正常運行,那麼用戶也不會對這個請求感到很反感。

4、沒有必要時不要請求位置信息

在獲得位置位置信息之前,檢查系統以查看是否已啟用位置服務。如果已經開啟, 你可以在用戶真的需要用到該功能時再進行警示框提醒,甚至可以直接省略掉警示框。

5、使用系統提供的警示框樣式

你可以在標準的權限警示框中自定義文本,但不要直接複製標準警示框行為的提示文本和外觀樣式。

六、設置(Setting)

一些APP可能一開始就需要用戶進行設置或配置選項,但大部分APP應該避免或者講設置操作延遲。

成功的APP可以一開始就讓大多數人覺得好用、易用,同時還提供了一些便捷的路徑來調整體驗。當你的APP可以滿足大部分用戶的需求時,你就可以弱化他們對設置的需要。

1、推測可以從系統中得到什麼

如果APP需要有關用戶、設備或環境的信息,請儘可能向系統請求,而不是直接詢問用戶。

例如:如果你想要知道用戶的郵政編碼來提供本地選項時,可以向用戶請求獲取他們的位置。如果用戶拒絕訪問其當前位置,則優雅地退回到手動輸入。

2、仔細考慮APP中配置選項的優先級

APP的的主頁是用來放置關鍵內容或者常用選項的。次級頁面更適合放置偶爾才會更改的選項。

3、不經常更改的配置選項放在系統“設置”中

系統的“設置”APP是更改系統配置的中心位置,但用戶必須離開你的APP才能到達“設置”APP。能在APP中直接調整設置會更方便。

4、在適當的時候提供去設置的快捷方式

如果APP包含引導用戶到“設置”的文本,例如:“轉到設置> MyApp>隱私>位置服務”,則會提供一個自動打開該位置的按鈕。


iOS平臺設計規範(二)APP架構


架構(APP Architecture)

一、加載(Loading)

當APP裡的內容正在加載時,一個空白或靜止的屏幕可能會讓APP看起來像是卡死了,從而讓用戶感到沮喪和不知所措,甚至可能導致用戶直接關掉APP放棄使用。


iOS平臺設計規範(二)APP架構



創建原則:

1、明確說明加載狀態

至少要有一個加載的圖標,可以表達正在發生的狀態。更好的方式是:使用類似進度條的形式,顯示明確的進度,讓用戶可以判斷自己大概需要等待多長時間。

2、儘快顯示內容

在用戶看到屏幕內容之前,不要讓用戶乾等著加載。你可以使用佔位符文本、圖形或動畫來告訴用戶,這個區域的內容還沒加載完成。在加載出內容後直接代替這些佔位符元素。後臺也要儘可能使用預加載,例如在播放動畫或用戶正在操作導航欄的選項卡時,後臺預先加載出來即將播放和顯示的內容。

3、自定義加載屏幕

雖然系統默認的進度指示器可以用,但有時會感覺它們脫離了主題,與APP的風格甚至顯得格格不入。設計師可以考慮用自定義動畫亦或是與APP風格相匹配的元素來設計,會使用戶有更沉浸式的體驗。


iOS平臺設計規範(二)APP架構



4、引導或娛樂用戶掩蓋加載時間

比如很多遊戲、視頻APP等,都可以放一段有趣的動畫或佔位圖作為加載提示,緩解用戶焦急的心情。(其實就是障眼法的意思)

缺點是:比較耗內存,一般遊戲APP裡用的比較多,普通的APP很少看到用動畫作為加載方式的,因為現在網絡越來越快,用戶只想儘快看到APP內的內容。


"


iOS平臺設計規範(二)APP架構

無論是UI、交互,還是產品經理,都應該熟讀iOS平臺設計規範。這對我們的產品設計,百利而無一弊。


iOS平臺設計規範(二)APP架構


無論是UI、交互,還是產品經理,都應該熟讀iOS平臺設計規範。這對我們的產品設計,百利而無一弊。


架構(APP Architecture)

一、加載(Loading)

當APP裡的內容正在加載時,一個空白或靜止的屏幕可能會讓APP看起來像是卡死了,從而讓用戶感到沮喪和不知所措,甚至可能導致用戶直接關掉APP放棄使用。


iOS平臺設計規範(二)APP架構



創建原則:

1、明確說明加載狀態

至少要有一個加載的圖標,可以表達正在發生的狀態。更好的方式是:使用類似進度條的形式,顯示明確的進度,讓用戶可以判斷自己大概需要等待多長時間。

2、儘快顯示內容

在用戶看到屏幕內容之前,不要讓用戶乾等著加載。你可以使用佔位符文本、圖形或動畫來告訴用戶,這個區域的內容還沒加載完成。在加載出內容後直接代替這些佔位符元素。後臺也要儘可能使用預加載,例如在播放動畫或用戶正在操作導航欄的選項卡時,後臺預先加載出來即將播放和顯示的內容。

3、自定義加載屏幕

雖然系統默認的進度指示器可以用,但有時會感覺它們脫離了主題,與APP的風格甚至顯得格格不入。設計師可以考慮用自定義動畫亦或是與APP風格相匹配的元素來設計,會使用戶有更沉浸式的體驗。


iOS平臺設計規範(二)APP架構



4、引導或娛樂用戶掩蓋加載時間

比如很多遊戲、視頻APP等,都可以放一段有趣的動畫或佔位圖作為加載提示,緩解用戶焦急的心情。(其實就是障眼法的意思)

缺點是:比較耗內存,一般遊戲APP裡用的比較多,普通的APP很少看到用動畫作為加載方式的,因為現在網絡越來越快,用戶只想儘快看到APP內的內容。


iOS平臺設計規範(二)APP架構



二、模態(Modality)

模態,是一種設計方式。一般作為臨時性的形式出現在頁面當中,需要顯示操作按鈕才可以退出。模態的意義在於:

  • 幫助用戶專注於一項與當前頁面密切相關的任務或選項
  • 確保用戶可以對重要操作採取行動


iOS平臺設計規範(二)APP架構



iOS提供您在應用中特定情況下使用的警報,活動視圖(或共享表)和操作表。在iOS13以下的版本,你需要自定義以下模態內容的演示樣式,而iOS 13及更高版本則默認以下演示樣式:

工作表

開卡片時被暫停的任務。用可以通過以下方式關閉卡片:

  • 從屏幕頂部向下滑動
  • 當卡片內容滾動到頂部時,從屏幕上的任何位置向下滑動
  • 點擊“關閉/取消”按鈕


注:工作表常用於無法啟用複雜任務的非模擬內容。

全屏

全屏模態視圖的演示樣式是涵蓋整個屏幕的,且完全覆蓋了之前的視圖,它最大限度地減輕了視覺上的干擾。用戶可以點擊按鈕來關閉全屏模態視圖。

對沉浸式內容(如視頻、照片或照相機視圖)使用全屏模態視圖,或者得益於全屏模態視圖的一些複雜任務(如標記文檔或編輯照片)。

注:如果使用當前上下文模式視圖樣式在拆分視圖窗格、彈出窗口或其他非全屏視圖中顯示模式內容,則在緊湊環境中顯示模式內容時應切換到使用工作表。

創建原則:

1、明確說明加載狀態

只有需要用戶集中注意力在做出選擇或執行與當前頁面不同的任務時,才能創建模態體驗。模態體驗使用戶脫離當前的頁面並需要用戶主動關閉,因此只有當創建模態體驗有明確的好處時才使用它。

2、在傳達重要信息或操作的情況下才使用警示框

通常情況下,彈出警示框意味著出現了問題。因為警示框會中斷體驗,需要點擊才能關閉。所以要讓用戶認為打斷是有必要的,這一點很重要。

3、確保模態上的任務簡單且集中

不要在你的APP中創建另一個APP。如果一個模態任務太複雜,那麼當用戶進入模態視圖時,他們可能會忽略他們之前被暫停的任務。

尤其謹慎創建太多層級結構的模態任務,因為用戶可能會在多個視圖中迷失不知道怎麼返回或忘記怎麼返回。如果模態任務必須包含子視圖,請提供清晰的返回路徑和完成路徑。

除非完成任務,否則不要使用“完成”按鈕。

4、始終要有取消/關閉模態視圖的按鈕

例如:你可以使用“完成”或“取消”。至少有一個按鈕以確保輔助技術訪問模態視圖,並代替手勢關閉模態視圖。

5、必要時,在關閉模態視圖之前進行確認,避免數據丟失

無論用戶使用手勢還是按鈕來關閉模態視圖,如果該操作可能導致用戶生成內容丟失,請提供解釋情況的操作表,併為用戶提供解決方法。


iOS平臺設計規範(二)APP架構



6、不要讓模態視圖出現在Popover(彈出式氣泡)上

除非是警示框,任何元素都不該出現在Popover上。在極少數情況下,當用戶在Popover中執行操作後需要用到模態視圖時,請在顯示模態視圖之前先關閉Popover。

7、通常,為模態任務設置一個標題

當用戶進入模態任務時,他們會離開之前的頁面,因此最好使前後操作清晰連貫。你也可以在視圖的其他部分中,提供更全面描述任務或指導的文本。

8、模態視圖外觀應與APP風格統一

例如,當模態視圖包含導航欄時,它應該採用與APP導航欄相同的外觀。

9、為模態視圖的展示提供一個合適的過渡方式

使用與APP風格統一的過渡樣式,增強用戶對內容轉變的認知。iOS默認的過渡方式是:模式視圖從屏幕底部向上滑入,被關閉時向下滑出。注意在整個APP中使用統一的模態轉換樣式。

三、導航(Navigation)

用戶往往會忽略APP的導航,除非當某些操作達不到他們的期望。我們的任務是在不會引起用戶過度注意的情況下,讓導航結構清晰、目的明確。導航在APP中應該顯得自然和熟悉,不應該主導界面或成為頁面內容中的焦點。

在iOS中,有三種主要的導航樣式:

(1) 層級導航

每一屏只能做一個選擇,直到到達你的目的地。如果要前往另一個目的地,您必須按原路一級級返回,並從最開始的位置做出的選擇。iOS的設置和郵件兩個APP就是使用這種導航樣式。

(2) 平級導航

在不同內容類別間進行切換,像音樂和App Store兩個APP就是用的這種導航樣式。(也是目前APP最常用的導航樣式)

(3) 內容驅動或體驗驅動導航

在APP的不同內容間切換,或者由內容本身定義導航。遊戲、書籍和其他沉浸式APP通常使用此導航樣式。

一些APP會結合多種導航樣式,例如:使用平級導航的應用可以在每個類別中使用分層導航。

設計原則:

1、始終提供清晰明確的路徑

用戶應該知道他們在APP中的位置以及如何到達下一個目的地。無論導航風格如何,操作路徑必須符合邏輯,可預知易於遵循。

一般情況下,一個頁面只給用戶提供一個入口。如果他們需要在多個場景下看到一個頁面內容,請考慮使用操作表、警示框、彈出式氣泡或模態視圖。

2、設計一種能快速、輕鬆地獲取內容的信息結構

為你的APP設計一個信息架構,在這個架構中,只需要最少的點擊、最少的滑動和最少的頁面數量便可以訪問相應內容。

3、使用手勢操作讓頁面切換更流暢

讓用戶以最小的阻力在頁面之間跳轉。例如,你可以讓人們從頁面側面滑動以返回上一個頁面。

4、使用標準導航組件

儘可能使用標準導航控件,例如頁面控件,標籤欄,分段控件,表視圖,集合視圖和拆分視圖。用戶已經很熟悉這些控件了,這樣能夠讓用戶更輕鬆地使用你的APP。

5、使用導航欄貫穿層級結構

導航欄的標題可以顯示層級結構中的當前位置,返回按鈕可以輕鬆返回到上一位置。

6、使用 Tab Bar(標籤欄)展示對應類別的內容或功能

使用標籤欄顯示對應類別的內容或功能。標籤欄可讓人們快速輕鬆地在不同類別之間切換。

7、同一類型頁面不同內容時可以使用頁面控件

頁面控件能清楚地傳達可用頁面總數和當前頁面位置。天氣APP就是使用頁面控件來展示不同地理位置的天氣情況。

四、新手引導(Onboarding)

APP啟動的這段時間是吸引新用戶和留住老用戶的一個機會。所以,請設計快速、有趣或者具有引導意義的啟動體驗。

設計原則:

1、提供啟動頁面

啟動頁面在APP被打開時出現,在加載初始內容的同時,有啟動頁給人的印象是APP響應很快。

啟動頁很快會被APP的首頁取代,所以它應該儘量與首屏相似,本地化的文本和交互元素除外(這一點在國內APP當中非常罕見)。

2、合適的方向啟動

如果你的APP同時支持縱屏和橫屏,則應該以設備的當前方向啟動。如果你的APP只在一個方向上運行,則應始終以該方向啟動,並在需要時允許用戶旋轉設備。

如果是APP是處於橫屏模式下,那麼不管用戶將設備是向左還是向右旋轉,APP都應該隨著旋轉正確地選擇顯示方向。(當然,有特殊原因除外)

3、快速進入

儘量避免顯示閃屏、菜單和說明,這些都會讓用戶花更長的時間來看到內容並開始使用你的APP。相反,讓人們直接潛進入最好。如果你的APP需要教學介紹或是引導,請務必提供一種跳過它們的方法,而且切忌向老用戶展示它們。

4、預想用戶可能會需要的幫助

主動尋找和思考用戶可能被卡住的地方。例如:遊戲中在暫停或角色沒有前進時顯示一些有用的提示。讓用戶可以重播教程,以防第一次進入APP的他們錯過任何內容。

5、只在教程中展示的重要信息

為新用戶提供引導是好的,但這並不意味著這樣做就能成為優秀的APP。更重要的是,你應該讓APP更直觀。如果你的APP需要過多的引導,那麼請重新審視/反思你的設計。

6、讓學習變得有趣和易於發現

邊做邊學比閱讀一長串說明更有趣和有效。在上下文環境中,使用動畫和可交互性循序漸進地引導用戶。要避免顯示看起來像可交互的屏幕截圖。

7、不要在一開始就詢問用戶設置信息

用戶希望一進入APP就能馬上操作。為大多數人設計你的APP,讓其他的少數想要不同配置的人自己調整APP內的參數來滿足他們的需求。儘可能從設備設置和默認值或通過同步服務(如iCloud)來獲取設置信息。

如果一定要詢問設置信息,請在用戶第一次使用APP就出現提示,並且應該允許用戶稍後在APP的設置中進行修改。

8、避免在APP內顯示許可協議和免責申明

在下載APP之前,直接在App Store展示許可協議和免責聲明。如果你一定要在APP中展示這些,請確保他們融入你的設計,並且不會破壞用戶體驗。

9、在重新啟動前恢復之前的狀態

不要讓用戶為了回到APP之前的位置而重複步驟。保留並恢復APP的狀態,以便他們可以從上次離開位置繼續運行。

像人人都是產品經理APP在這塊就做的很好,在退出APP後,不管你什麼時候再重新打開APP,都是退出之前在看的那篇文章。有時候因為某些原因退出了APP又忘記收藏文章,就不用再重新搜索尋找,這點體驗非常好。

10、不要頻繁讓用戶對你的APP進行評分

過快或過於頻繁地要求評分是很令人反感的,並且會讓最終收到的有用反饋的數量減少。

為了獲得一個更全面、客觀的用戶反饋,讓用戶有時間對APP有一個基本的瞭解之後再進行評分。一定要提供關閉評分提示的方法,永遠不要強迫用戶為你的APP評分。

11、不鼓勵重啟

重新啟動APP很耗費時間,而且會讓你的APP看起來不是那麼可靠而且很難用。如果APP是因為內存或其他問題難以運行,使得系統只能重啟,那你需要先去解決這些問題。

五、請求許可 (Requesting Permission)

APP必須得到用戶的授權才可以訪問其個人信息,包括:當前位置、日曆、聯繫人信息、提醒和照片等。雖然用戶可能會覺得APP直接獲取個新信息可能更方便,但他們也希望能夠控對自己的隱私數據進行自我管控。

例如:用戶喜歡系統自動獲取自己的實際位置去標記照片或尋找附近的朋友,但他們仍然希望可以選擇關閉這些功能。

設計原則:

1、在APP需要用到時才向用戶請求個人數據

用戶對個人信息的請求產生質疑是很正常的,尤其是他們發現當前的請求完全沒有必要時。確保只在用戶必須要用到個人數據時才會發出權限請求。

例如:APP可能只有在激活位置跟蹤功能時才會請求獲得用戶的當前位置。


iOS平臺設計規範(二)APP架構



2、解釋APP需要這些個人信息的原因

在系統的權限請求警示框中提供自定義文本(示例用途字符串)。使用簡短和具體、禮貌的文案,讓用戶感覺輕鬆,沒有壓力。文案中沒有必要包含APP的名稱 - 因為系統可以自動識別你的APP並帶入名稱。


iOS平臺設計規範(二)APP架構



3、只有關乎到APP的正常運行時,才會在啟動時出現請求權限

如果你的APP顯然只有獲得他們的個人信息才能正常運行,那麼用戶也不會對這個請求感到很反感。

4、沒有必要時不要請求位置信息

在獲得位置位置信息之前,檢查系統以查看是否已啟用位置服務。如果已經開啟, 你可以在用戶真的需要用到該功能時再進行警示框提醒,甚至可以直接省略掉警示框。

5、使用系統提供的警示框樣式

你可以在標準的權限警示框中自定義文本,但不要直接複製標準警示框行為的提示文本和外觀樣式。

六、設置(Setting)

一些APP可能一開始就需要用戶進行設置或配置選項,但大部分APP應該避免或者講設置操作延遲。

成功的APP可以一開始就讓大多數人覺得好用、易用,同時還提供了一些便捷的路徑來調整體驗。當你的APP可以滿足大部分用戶的需求時,你就可以弱化他們對設置的需要。

1、推測可以從系統中得到什麼

如果APP需要有關用戶、設備或環境的信息,請儘可能向系統請求,而不是直接詢問用戶。

例如:如果你想要知道用戶的郵政編碼來提供本地選項時,可以向用戶請求獲取他們的位置。如果用戶拒絕訪問其當前位置,則優雅地退回到手動輸入。

2、仔細考慮APP中配置選項的優先級

APP的的主頁是用來放置關鍵內容或者常用選項的。次級頁面更適合放置偶爾才會更改的選項。

3、不經常更改的配置選項放在系統“設置”中

系統的“設置”APP是更改系統配置的中心位置,但用戶必須離開你的APP才能到達“設置”APP。能在APP中直接調整設置會更方便。

4、在適當的時候提供去設置的快捷方式

如果APP包含引導用戶到“設置”的文本,例如:“轉到設置> MyApp>隱私>位置服務”,則會提供一個自動打開該位置的按鈕。


iOS平臺設計規範(二)APP架構


架構(APP Architecture)

一、加載(Loading)

當APP裡的內容正在加載時,一個空白或靜止的屏幕可能會讓APP看起來像是卡死了,從而讓用戶感到沮喪和不知所措,甚至可能導致用戶直接關掉APP放棄使用。


iOS平臺設計規範(二)APP架構



創建原則:

1、明確說明加載狀態

至少要有一個加載的圖標,可以表達正在發生的狀態。更好的方式是:使用類似進度條的形式,顯示明確的進度,讓用戶可以判斷自己大概需要等待多長時間。

2、儘快顯示內容

在用戶看到屏幕內容之前,不要讓用戶乾等著加載。你可以使用佔位符文本、圖形或動畫來告訴用戶,這個區域的內容還沒加載完成。在加載出內容後直接代替這些佔位符元素。後臺也要儘可能使用預加載,例如在播放動畫或用戶正在操作導航欄的選項卡時,後臺預先加載出來即將播放和顯示的內容。

3、自定義加載屏幕

雖然系統默認的進度指示器可以用,但有時會感覺它們脫離了主題,與APP的風格甚至顯得格格不入。設計師可以考慮用自定義動畫亦或是與APP風格相匹配的元素來設計,會使用戶有更沉浸式的體驗。


iOS平臺設計規範(二)APP架構



4、引導或娛樂用戶掩蓋加載時間

比如很多遊戲、視頻APP等,都可以放一段有趣的動畫或佔位圖作為加載提示,緩解用戶焦急的心情。(其實就是障眼法的意思)

缺點是:比較耗內存,一般遊戲APP裡用的比較多,普通的APP很少看到用動畫作為加載方式的,因為現在網絡越來越快,用戶只想儘快看到APP內的內容。


iOS平臺設計規範(二)APP架構



二、模態(Modality)

模態,是一種設計方式。一般作為臨時性的形式出現在頁面當中,需要顯示操作按鈕才可以退出。模態的意義在於:

  • 幫助用戶專注於一項與當前頁面密切相關的任務或選項
  • 確保用戶可以對重要操作採取行動


"


iOS平臺設計規範(二)APP架構

無論是UI、交互,還是產品經理,都應該熟讀iOS平臺設計規範。這對我們的產品設計,百利而無一弊。


iOS平臺設計規範(二)APP架構


無論是UI、交互,還是產品經理,都應該熟讀iOS平臺設計規範。這對我們的產品設計,百利而無一弊。


架構(APP Architecture)

一、加載(Loading)

當APP裡的內容正在加載時,一個空白或靜止的屏幕可能會讓APP看起來像是卡死了,從而讓用戶感到沮喪和不知所措,甚至可能導致用戶直接關掉APP放棄使用。


iOS平臺設計規範(二)APP架構



創建原則:

1、明確說明加載狀態

至少要有一個加載的圖標,可以表達正在發生的狀態。更好的方式是:使用類似進度條的形式,顯示明確的進度,讓用戶可以判斷自己大概需要等待多長時間。

2、儘快顯示內容

在用戶看到屏幕內容之前,不要讓用戶乾等著加載。你可以使用佔位符文本、圖形或動畫來告訴用戶,這個區域的內容還沒加載完成。在加載出內容後直接代替這些佔位符元素。後臺也要儘可能使用預加載,例如在播放動畫或用戶正在操作導航欄的選項卡時,後臺預先加載出來即將播放和顯示的內容。

3、自定義加載屏幕

雖然系統默認的進度指示器可以用,但有時會感覺它們脫離了主題,與APP的風格甚至顯得格格不入。設計師可以考慮用自定義動畫亦或是與APP風格相匹配的元素來設計,會使用戶有更沉浸式的體驗。


iOS平臺設計規範(二)APP架構



4、引導或娛樂用戶掩蓋加載時間

比如很多遊戲、視頻APP等,都可以放一段有趣的動畫或佔位圖作為加載提示,緩解用戶焦急的心情。(其實就是障眼法的意思)

缺點是:比較耗內存,一般遊戲APP裡用的比較多,普通的APP很少看到用動畫作為加載方式的,因為現在網絡越來越快,用戶只想儘快看到APP內的內容。


iOS平臺設計規範(二)APP架構



二、模態(Modality)

模態,是一種設計方式。一般作為臨時性的形式出現在頁面當中,需要顯示操作按鈕才可以退出。模態的意義在於:

  • 幫助用戶專注於一項與當前頁面密切相關的任務或選項
  • 確保用戶可以對重要操作採取行動


iOS平臺設計規範(二)APP架構



iOS提供您在應用中特定情況下使用的警報,活動視圖(或共享表)和操作表。在iOS13以下的版本,你需要自定義以下模態內容的演示樣式,而iOS 13及更高版本則默認以下演示樣式:

工作表

開卡片時被暫停的任務。用可以通過以下方式關閉卡片:

  • 從屏幕頂部向下滑動
  • 當卡片內容滾動到頂部時,從屏幕上的任何位置向下滑動
  • 點擊“關閉/取消”按鈕


注:工作表常用於無法啟用複雜任務的非模擬內容。

全屏

全屏模態視圖的演示樣式是涵蓋整個屏幕的,且完全覆蓋了之前的視圖,它最大限度地減輕了視覺上的干擾。用戶可以點擊按鈕來關閉全屏模態視圖。

對沉浸式內容(如視頻、照片或照相機視圖)使用全屏模態視圖,或者得益於全屏模態視圖的一些複雜任務(如標記文檔或編輯照片)。

注:如果使用當前上下文模式視圖樣式在拆分視圖窗格、彈出窗口或其他非全屏視圖中顯示模式內容,則在緊湊環境中顯示模式內容時應切換到使用工作表。

創建原則:

1、明確說明加載狀態

只有需要用戶集中注意力在做出選擇或執行與當前頁面不同的任務時,才能創建模態體驗。模態體驗使用戶脫離當前的頁面並需要用戶主動關閉,因此只有當創建模態體驗有明確的好處時才使用它。

2、在傳達重要信息或操作的情況下才使用警示框

通常情況下,彈出警示框意味著出現了問題。因為警示框會中斷體驗,需要點擊才能關閉。所以要讓用戶認為打斷是有必要的,這一點很重要。

3、確保模態上的任務簡單且集中

不要在你的APP中創建另一個APP。如果一個模態任務太複雜,那麼當用戶進入模態視圖時,他們可能會忽略他們之前被暫停的任務。

尤其謹慎創建太多層級結構的模態任務,因為用戶可能會在多個視圖中迷失不知道怎麼返回或忘記怎麼返回。如果模態任務必須包含子視圖,請提供清晰的返回路徑和完成路徑。

除非完成任務,否則不要使用“完成”按鈕。

4、始終要有取消/關閉模態視圖的按鈕

例如:你可以使用“完成”或“取消”。至少有一個按鈕以確保輔助技術訪問模態視圖,並代替手勢關閉模態視圖。

5、必要時,在關閉模態視圖之前進行確認,避免數據丟失

無論用戶使用手勢還是按鈕來關閉模態視圖,如果該操作可能導致用戶生成內容丟失,請提供解釋情況的操作表,併為用戶提供解決方法。


iOS平臺設計規範(二)APP架構



6、不要讓模態視圖出現在Popover(彈出式氣泡)上

除非是警示框,任何元素都不該出現在Popover上。在極少數情況下,當用戶在Popover中執行操作後需要用到模態視圖時,請在顯示模態視圖之前先關閉Popover。

7、通常,為模態任務設置一個標題

當用戶進入模態任務時,他們會離開之前的頁面,因此最好使前後操作清晰連貫。你也可以在視圖的其他部分中,提供更全面描述任務或指導的文本。

8、模態視圖外觀應與APP風格統一

例如,當模態視圖包含導航欄時,它應該採用與APP導航欄相同的外觀。

9、為模態視圖的展示提供一個合適的過渡方式

使用與APP風格統一的過渡樣式,增強用戶對內容轉變的認知。iOS默認的過渡方式是:模式視圖從屏幕底部向上滑入,被關閉時向下滑出。注意在整個APP中使用統一的模態轉換樣式。

三、導航(Navigation)

用戶往往會忽略APP的導航,除非當某些操作達不到他們的期望。我們的任務是在不會引起用戶過度注意的情況下,讓導航結構清晰、目的明確。導航在APP中應該顯得自然和熟悉,不應該主導界面或成為頁面內容中的焦點。

在iOS中,有三種主要的導航樣式:

(1) 層級導航

每一屏只能做一個選擇,直到到達你的目的地。如果要前往另一個目的地,您必須按原路一級級返回,並從最開始的位置做出的選擇。iOS的設置和郵件兩個APP就是使用這種導航樣式。

(2) 平級導航

在不同內容類別間進行切換,像音樂和App Store兩個APP就是用的這種導航樣式。(也是目前APP最常用的導航樣式)

(3) 內容驅動或體驗驅動導航

在APP的不同內容間切換,或者由內容本身定義導航。遊戲、書籍和其他沉浸式APP通常使用此導航樣式。

一些APP會結合多種導航樣式,例如:使用平級導航的應用可以在每個類別中使用分層導航。

設計原則:

1、始終提供清晰明確的路徑

用戶應該知道他們在APP中的位置以及如何到達下一個目的地。無論導航風格如何,操作路徑必須符合邏輯,可預知易於遵循。

一般情況下,一個頁面只給用戶提供一個入口。如果他們需要在多個場景下看到一個頁面內容,請考慮使用操作表、警示框、彈出式氣泡或模態視圖。

2、設計一種能快速、輕鬆地獲取內容的信息結構

為你的APP設計一個信息架構,在這個架構中,只需要最少的點擊、最少的滑動和最少的頁面數量便可以訪問相應內容。

3、使用手勢操作讓頁面切換更流暢

讓用戶以最小的阻力在頁面之間跳轉。例如,你可以讓人們從頁面側面滑動以返回上一個頁面。

4、使用標準導航組件

儘可能使用標準導航控件,例如頁面控件,標籤欄,分段控件,表視圖,集合視圖和拆分視圖。用戶已經很熟悉這些控件了,這樣能夠讓用戶更輕鬆地使用你的APP。

5、使用導航欄貫穿層級結構

導航欄的標題可以顯示層級結構中的當前位置,返回按鈕可以輕鬆返回到上一位置。

6、使用 Tab Bar(標籤欄)展示對應類別的內容或功能

使用標籤欄顯示對應類別的內容或功能。標籤欄可讓人們快速輕鬆地在不同類別之間切換。

7、同一類型頁面不同內容時可以使用頁面控件

頁面控件能清楚地傳達可用頁面總數和當前頁面位置。天氣APP就是使用頁面控件來展示不同地理位置的天氣情況。

四、新手引導(Onboarding)

APP啟動的這段時間是吸引新用戶和留住老用戶的一個機會。所以,請設計快速、有趣或者具有引導意義的啟動體驗。

設計原則:

1、提供啟動頁面

啟動頁面在APP被打開時出現,在加載初始內容的同時,有啟動頁給人的印象是APP響應很快。

啟動頁很快會被APP的首頁取代,所以它應該儘量與首屏相似,本地化的文本和交互元素除外(這一點在國內APP當中非常罕見)。

2、合適的方向啟動

如果你的APP同時支持縱屏和橫屏,則應該以設備的當前方向啟動。如果你的APP只在一個方向上運行,則應始終以該方向啟動,並在需要時允許用戶旋轉設備。

如果是APP是處於橫屏模式下,那麼不管用戶將設備是向左還是向右旋轉,APP都應該隨著旋轉正確地選擇顯示方向。(當然,有特殊原因除外)

3、快速進入

儘量避免顯示閃屏、菜單和說明,這些都會讓用戶花更長的時間來看到內容並開始使用你的APP。相反,讓人們直接潛進入最好。如果你的APP需要教學介紹或是引導,請務必提供一種跳過它們的方法,而且切忌向老用戶展示它們。

4、預想用戶可能會需要的幫助

主動尋找和思考用戶可能被卡住的地方。例如:遊戲中在暫停或角色沒有前進時顯示一些有用的提示。讓用戶可以重播教程,以防第一次進入APP的他們錯過任何內容。

5、只在教程中展示的重要信息

為新用戶提供引導是好的,但這並不意味著這樣做就能成為優秀的APP。更重要的是,你應該讓APP更直觀。如果你的APP需要過多的引導,那麼請重新審視/反思你的設計。

6、讓學習變得有趣和易於發現

邊做邊學比閱讀一長串說明更有趣和有效。在上下文環境中,使用動畫和可交互性循序漸進地引導用戶。要避免顯示看起來像可交互的屏幕截圖。

7、不要在一開始就詢問用戶設置信息

用戶希望一進入APP就能馬上操作。為大多數人設計你的APP,讓其他的少數想要不同配置的人自己調整APP內的參數來滿足他們的需求。儘可能從設備設置和默認值或通過同步服務(如iCloud)來獲取設置信息。

如果一定要詢問設置信息,請在用戶第一次使用APP就出現提示,並且應該允許用戶稍後在APP的設置中進行修改。

8、避免在APP內顯示許可協議和免責申明

在下載APP之前,直接在App Store展示許可協議和免責聲明。如果你一定要在APP中展示這些,請確保他們融入你的設計,並且不會破壞用戶體驗。

9、在重新啟動前恢復之前的狀態

不要讓用戶為了回到APP之前的位置而重複步驟。保留並恢復APP的狀態,以便他們可以從上次離開位置繼續運行。

像人人都是產品經理APP在這塊就做的很好,在退出APP後,不管你什麼時候再重新打開APP,都是退出之前在看的那篇文章。有時候因為某些原因退出了APP又忘記收藏文章,就不用再重新搜索尋找,這點體驗非常好。

10、不要頻繁讓用戶對你的APP進行評分

過快或過於頻繁地要求評分是很令人反感的,並且會讓最終收到的有用反饋的數量減少。

為了獲得一個更全面、客觀的用戶反饋,讓用戶有時間對APP有一個基本的瞭解之後再進行評分。一定要提供關閉評分提示的方法,永遠不要強迫用戶為你的APP評分。

11、不鼓勵重啟

重新啟動APP很耗費時間,而且會讓你的APP看起來不是那麼可靠而且很難用。如果APP是因為內存或其他問題難以運行,使得系統只能重啟,那你需要先去解決這些問題。

五、請求許可 (Requesting Permission)

APP必須得到用戶的授權才可以訪問其個人信息,包括:當前位置、日曆、聯繫人信息、提醒和照片等。雖然用戶可能會覺得APP直接獲取個新信息可能更方便,但他們也希望能夠控對自己的隱私數據進行自我管控。

例如:用戶喜歡系統自動獲取自己的實際位置去標記照片或尋找附近的朋友,但他們仍然希望可以選擇關閉這些功能。

設計原則:

1、在APP需要用到時才向用戶請求個人數據

用戶對個人信息的請求產生質疑是很正常的,尤其是他們發現當前的請求完全沒有必要時。確保只在用戶必須要用到個人數據時才會發出權限請求。

例如:APP可能只有在激活位置跟蹤功能時才會請求獲得用戶的當前位置。


iOS平臺設計規範(二)APP架構



2、解釋APP需要這些個人信息的原因

在系統的權限請求警示框中提供自定義文本(示例用途字符串)。使用簡短和具體、禮貌的文案,讓用戶感覺輕鬆,沒有壓力。文案中沒有必要包含APP的名稱 - 因為系統可以自動識別你的APP並帶入名稱。


iOS平臺設計規範(二)APP架構



3、只有關乎到APP的正常運行時,才會在啟動時出現請求權限

如果你的APP顯然只有獲得他們的個人信息才能正常運行,那麼用戶也不會對這個請求感到很反感。

4、沒有必要時不要請求位置信息

在獲得位置位置信息之前,檢查系統以查看是否已啟用位置服務。如果已經開啟, 你可以在用戶真的需要用到該功能時再進行警示框提醒,甚至可以直接省略掉警示框。

5、使用系統提供的警示框樣式

你可以在標準的權限警示框中自定義文本,但不要直接複製標準警示框行為的提示文本和外觀樣式。

六、設置(Setting)

一些APP可能一開始就需要用戶進行設置或配置選項,但大部分APP應該避免或者講設置操作延遲。

成功的APP可以一開始就讓大多數人覺得好用、易用,同時還提供了一些便捷的路徑來調整體驗。當你的APP可以滿足大部分用戶的需求時,你就可以弱化他們對設置的需要。

1、推測可以從系統中得到什麼

如果APP需要有關用戶、設備或環境的信息,請儘可能向系統請求,而不是直接詢問用戶。

例如:如果你想要知道用戶的郵政編碼來提供本地選項時,可以向用戶請求獲取他們的位置。如果用戶拒絕訪問其當前位置,則優雅地退回到手動輸入。

2、仔細考慮APP中配置選項的優先級

APP的的主頁是用來放置關鍵內容或者常用選項的。次級頁面更適合放置偶爾才會更改的選項。

3、不經常更改的配置選項放在系統“設置”中

系統的“設置”APP是更改系統配置的中心位置,但用戶必須離開你的APP才能到達“設置”APP。能在APP中直接調整設置會更方便。

4、在適當的時候提供去設置的快捷方式

如果APP包含引導用戶到“設置”的文本,例如:“轉到設置> MyApp>隱私>位置服務”,則會提供一個自動打開該位置的按鈕。


iOS平臺設計規範(二)APP架構


架構(APP Architecture)

一、加載(Loading)

當APP裡的內容正在加載時,一個空白或靜止的屏幕可能會讓APP看起來像是卡死了,從而讓用戶感到沮喪和不知所措,甚至可能導致用戶直接關掉APP放棄使用。


iOS平臺設計規範(二)APP架構



創建原則:

1、明確說明加載狀態

至少要有一個加載的圖標,可以表達正在發生的狀態。更好的方式是:使用類似進度條的形式,顯示明確的進度,讓用戶可以判斷自己大概需要等待多長時間。

2、儘快顯示內容

在用戶看到屏幕內容之前,不要讓用戶乾等著加載。你可以使用佔位符文本、圖形或動畫來告訴用戶,這個區域的內容還沒加載完成。在加載出內容後直接代替這些佔位符元素。後臺也要儘可能使用預加載,例如在播放動畫或用戶正在操作導航欄的選項卡時,後臺預先加載出來即將播放和顯示的內容。

3、自定義加載屏幕

雖然系統默認的進度指示器可以用,但有時會感覺它們脫離了主題,與APP的風格甚至顯得格格不入。設計師可以考慮用自定義動畫亦或是與APP風格相匹配的元素來設計,會使用戶有更沉浸式的體驗。


iOS平臺設計規範(二)APP架構



4、引導或娛樂用戶掩蓋加載時間

比如很多遊戲、視頻APP等,都可以放一段有趣的動畫或佔位圖作為加載提示,緩解用戶焦急的心情。(其實就是障眼法的意思)

缺點是:比較耗內存,一般遊戲APP裡用的比較多,普通的APP很少看到用動畫作為加載方式的,因為現在網絡越來越快,用戶只想儘快看到APP內的內容。


iOS平臺設計規範(二)APP架構



二、模態(Modality)

模態,是一種設計方式。一般作為臨時性的形式出現在頁面當中,需要顯示操作按鈕才可以退出。模態的意義在於:

  • 幫助用戶專注於一項與當前頁面密切相關的任務或選項
  • 確保用戶可以對重要操作採取行動


iOS平臺設計規範(二)APP架構

iOS提供您在應用中特定情況下使用的警報,活動視圖(或共享表)和操作表。在iOS13以下的版本,你需要自定義以下模態內容的演示樣式,而iOS 13及更高版本則默認以下演示樣式:

工作表

開卡片時被暫停的任務。用可以通過以下方式關閉卡片:

  • 從屏幕頂部向下滑動
  • 當卡片內容滾動到頂部時,從屏幕上的任何位置向下滑動
  • 點擊“關閉/取消”按鈕


注:工作表常用於無法啟用複雜任務的非模擬內容。

全屏

全屏模態視圖的演示樣式是涵蓋整個屏幕的,且完全覆蓋了之前的視圖,它最大限度地減輕了視覺上的干擾。用戶可以點擊按鈕來關閉全屏模態視圖。

對沉浸式內容(如視頻、照片或照相機視圖)使用全屏模態視圖,或者得益於全屏模態視圖的一些複雜任務(如標記文檔或編輯照片)。

注:如果使用當前上下文模式視圖樣式在拆分視圖窗格、彈出窗口或其他非全屏視圖中顯示模式內容,則在緊湊環境中顯示模式內容時應切換到使用工作表。

創建原則:

1、明確說明加載狀態

只有需要用戶集中注意力在做出選擇或執行與當前頁面不同的任務時,才能創建模態體驗。模態體驗使用戶脫離當前的頁面並需要用戶主動關閉,因此只有當創建模態體驗有明確的好處時才使用它。

2、在傳達重要信息或操作的情況下才使用警示框

通常情況下,彈出警示框意味著出現了問題。因為警示框會中斷體驗,需要點擊才能關閉。所以要讓用戶認為打斷是有必要的,這一點很重要。

3、確保模態上的任務簡單且集中

不要在你的APP中創建另一個APP。如果一個模態任務太複雜,那麼當用戶進入模態視圖時,他們可能會忽略他們之前被暫停的任務。

尤其謹慎創建太多層級結構的模態任務,因為用戶可能會在多個視圖中迷失不知道怎麼返回或忘記怎麼返回。如果模態任務必須包含子視圖,請提供清晰的返回路徑和完成路徑。

除非完成任務,否則不要使用“完成”按鈕。

4、始終要有取消/關閉模態視圖的按鈕

例如:你可以使用“完成”或“取消”。至少有一個按鈕以確保輔助技術訪問模態視圖,並代替手勢關閉模態視圖。

5、必要時,在關閉模態視圖之前進行確認,避免數據丟失

無論用戶使用手勢還是按鈕來關閉模態視圖,如果該操作可能導致用戶生成內容丟失,請提供解釋情況的操作表,併為用戶提供解決方法。


"


iOS平臺設計規範(二)APP架構

無論是UI、交互,還是產品經理,都應該熟讀iOS平臺設計規範。這對我們的產品設計,百利而無一弊。


iOS平臺設計規範(二)APP架構


無論是UI、交互,還是產品經理,都應該熟讀iOS平臺設計規範。這對我們的產品設計,百利而無一弊。


架構(APP Architecture)

一、加載(Loading)

當APP裡的內容正在加載時,一個空白或靜止的屏幕可能會讓APP看起來像是卡死了,從而讓用戶感到沮喪和不知所措,甚至可能導致用戶直接關掉APP放棄使用。


iOS平臺設計規範(二)APP架構



創建原則:

1、明確說明加載狀態

至少要有一個加載的圖標,可以表達正在發生的狀態。更好的方式是:使用類似進度條的形式,顯示明確的進度,讓用戶可以判斷自己大概需要等待多長時間。

2、儘快顯示內容

在用戶看到屏幕內容之前,不要讓用戶乾等著加載。你可以使用佔位符文本、圖形或動畫來告訴用戶,這個區域的內容還沒加載完成。在加載出內容後直接代替這些佔位符元素。後臺也要儘可能使用預加載,例如在播放動畫或用戶正在操作導航欄的選項卡時,後臺預先加載出來即將播放和顯示的內容。

3、自定義加載屏幕

雖然系統默認的進度指示器可以用,但有時會感覺它們脫離了主題,與APP的風格甚至顯得格格不入。設計師可以考慮用自定義動畫亦或是與APP風格相匹配的元素來設計,會使用戶有更沉浸式的體驗。


iOS平臺設計規範(二)APP架構



4、引導或娛樂用戶掩蓋加載時間

比如很多遊戲、視頻APP等,都可以放一段有趣的動畫或佔位圖作為加載提示,緩解用戶焦急的心情。(其實就是障眼法的意思)

缺點是:比較耗內存,一般遊戲APP裡用的比較多,普通的APP很少看到用動畫作為加載方式的,因為現在網絡越來越快,用戶只想儘快看到APP內的內容。


iOS平臺設計規範(二)APP架構



二、模態(Modality)

模態,是一種設計方式。一般作為臨時性的形式出現在頁面當中,需要顯示操作按鈕才可以退出。模態的意義在於:

  • 幫助用戶專注於一項與當前頁面密切相關的任務或選項
  • 確保用戶可以對重要操作採取行動


iOS平臺設計規範(二)APP架構



iOS提供您在應用中特定情況下使用的警報,活動視圖(或共享表)和操作表。在iOS13以下的版本,你需要自定義以下模態內容的演示樣式,而iOS 13及更高版本則默認以下演示樣式:

工作表

開卡片時被暫停的任務。用可以通過以下方式關閉卡片:

  • 從屏幕頂部向下滑動
  • 當卡片內容滾動到頂部時,從屏幕上的任何位置向下滑動
  • 點擊“關閉/取消”按鈕


注:工作表常用於無法啟用複雜任務的非模擬內容。

全屏

全屏模態視圖的演示樣式是涵蓋整個屏幕的,且完全覆蓋了之前的視圖,它最大限度地減輕了視覺上的干擾。用戶可以點擊按鈕來關閉全屏模態視圖。

對沉浸式內容(如視頻、照片或照相機視圖)使用全屏模態視圖,或者得益於全屏模態視圖的一些複雜任務(如標記文檔或編輯照片)。

注:如果使用當前上下文模式視圖樣式在拆分視圖窗格、彈出窗口或其他非全屏視圖中顯示模式內容,則在緊湊環境中顯示模式內容時應切換到使用工作表。

創建原則:

1、明確說明加載狀態

只有需要用戶集中注意力在做出選擇或執行與當前頁面不同的任務時,才能創建模態體驗。模態體驗使用戶脫離當前的頁面並需要用戶主動關閉,因此只有當創建模態體驗有明確的好處時才使用它。

2、在傳達重要信息或操作的情況下才使用警示框

通常情況下,彈出警示框意味著出現了問題。因為警示框會中斷體驗,需要點擊才能關閉。所以要讓用戶認為打斷是有必要的,這一點很重要。

3、確保模態上的任務簡單且集中

不要在你的APP中創建另一個APP。如果一個模態任務太複雜,那麼當用戶進入模態視圖時,他們可能會忽略他們之前被暫停的任務。

尤其謹慎創建太多層級結構的模態任務,因為用戶可能會在多個視圖中迷失不知道怎麼返回或忘記怎麼返回。如果模態任務必須包含子視圖,請提供清晰的返回路徑和完成路徑。

除非完成任務,否則不要使用“完成”按鈕。

4、始終要有取消/關閉模態視圖的按鈕

例如:你可以使用“完成”或“取消”。至少有一個按鈕以確保輔助技術訪問模態視圖,並代替手勢關閉模態視圖。

5、必要時,在關閉模態視圖之前進行確認,避免數據丟失

無論用戶使用手勢還是按鈕來關閉模態視圖,如果該操作可能導致用戶生成內容丟失,請提供解釋情況的操作表,併為用戶提供解決方法。


iOS平臺設計規範(二)APP架構



6、不要讓模態視圖出現在Popover(彈出式氣泡)上

除非是警示框,任何元素都不該出現在Popover上。在極少數情況下,當用戶在Popover中執行操作後需要用到模態視圖時,請在顯示模態視圖之前先關閉Popover。

7、通常,為模態任務設置一個標題

當用戶進入模態任務時,他們會離開之前的頁面,因此最好使前後操作清晰連貫。你也可以在視圖的其他部分中,提供更全面描述任務或指導的文本。

8、模態視圖外觀應與APP風格統一

例如,當模態視圖包含導航欄時,它應該採用與APP導航欄相同的外觀。

9、為模態視圖的展示提供一個合適的過渡方式

使用與APP風格統一的過渡樣式,增強用戶對內容轉變的認知。iOS默認的過渡方式是:模式視圖從屏幕底部向上滑入,被關閉時向下滑出。注意在整個APP中使用統一的模態轉換樣式。

三、導航(Navigation)

用戶往往會忽略APP的導航,除非當某些操作達不到他們的期望。我們的任務是在不會引起用戶過度注意的情況下,讓導航結構清晰、目的明確。導航在APP中應該顯得自然和熟悉,不應該主導界面或成為頁面內容中的焦點。

在iOS中,有三種主要的導航樣式:

(1) 層級導航

每一屏只能做一個選擇,直到到達你的目的地。如果要前往另一個目的地,您必須按原路一級級返回,並從最開始的位置做出的選擇。iOS的設置和郵件兩個APP就是使用這種導航樣式。

(2) 平級導航

在不同內容類別間進行切換,像音樂和App Store兩個APP就是用的這種導航樣式。(也是目前APP最常用的導航樣式)

(3) 內容驅動或體驗驅動導航

在APP的不同內容間切換,或者由內容本身定義導航。遊戲、書籍和其他沉浸式APP通常使用此導航樣式。

一些APP會結合多種導航樣式,例如:使用平級導航的應用可以在每個類別中使用分層導航。

設計原則:

1、始終提供清晰明確的路徑

用戶應該知道他們在APP中的位置以及如何到達下一個目的地。無論導航風格如何,操作路徑必須符合邏輯,可預知易於遵循。

一般情況下,一個頁面只給用戶提供一個入口。如果他們需要在多個場景下看到一個頁面內容,請考慮使用操作表、警示框、彈出式氣泡或模態視圖。

2、設計一種能快速、輕鬆地獲取內容的信息結構

為你的APP設計一個信息架構,在這個架構中,只需要最少的點擊、最少的滑動和最少的頁面數量便可以訪問相應內容。

3、使用手勢操作讓頁面切換更流暢

讓用戶以最小的阻力在頁面之間跳轉。例如,你可以讓人們從頁面側面滑動以返回上一個頁面。

4、使用標準導航組件

儘可能使用標準導航控件,例如頁面控件,標籤欄,分段控件,表視圖,集合視圖和拆分視圖。用戶已經很熟悉這些控件了,這樣能夠讓用戶更輕鬆地使用你的APP。

5、使用導航欄貫穿層級結構

導航欄的標題可以顯示層級結構中的當前位置,返回按鈕可以輕鬆返回到上一位置。

6、使用 Tab Bar(標籤欄)展示對應類別的內容或功能

使用標籤欄顯示對應類別的內容或功能。標籤欄可讓人們快速輕鬆地在不同類別之間切換。

7、同一類型頁面不同內容時可以使用頁面控件

頁面控件能清楚地傳達可用頁面總數和當前頁面位置。天氣APP就是使用頁面控件來展示不同地理位置的天氣情況。

四、新手引導(Onboarding)

APP啟動的這段時間是吸引新用戶和留住老用戶的一個機會。所以,請設計快速、有趣或者具有引導意義的啟動體驗。

設計原則:

1、提供啟動頁面

啟動頁面在APP被打開時出現,在加載初始內容的同時,有啟動頁給人的印象是APP響應很快。

啟動頁很快會被APP的首頁取代,所以它應該儘量與首屏相似,本地化的文本和交互元素除外(這一點在國內APP當中非常罕見)。

2、合適的方向啟動

如果你的APP同時支持縱屏和橫屏,則應該以設備的當前方向啟動。如果你的APP只在一個方向上運行,則應始終以該方向啟動,並在需要時允許用戶旋轉設備。

如果是APP是處於橫屏模式下,那麼不管用戶將設備是向左還是向右旋轉,APP都應該隨著旋轉正確地選擇顯示方向。(當然,有特殊原因除外)

3、快速進入

儘量避免顯示閃屏、菜單和說明,這些都會讓用戶花更長的時間來看到內容並開始使用你的APP。相反,讓人們直接潛進入最好。如果你的APP需要教學介紹或是引導,請務必提供一種跳過它們的方法,而且切忌向老用戶展示它們。

4、預想用戶可能會需要的幫助

主動尋找和思考用戶可能被卡住的地方。例如:遊戲中在暫停或角色沒有前進時顯示一些有用的提示。讓用戶可以重播教程,以防第一次進入APP的他們錯過任何內容。

5、只在教程中展示的重要信息

為新用戶提供引導是好的,但這並不意味著這樣做就能成為優秀的APP。更重要的是,你應該讓APP更直觀。如果你的APP需要過多的引導,那麼請重新審視/反思你的設計。

6、讓學習變得有趣和易於發現

邊做邊學比閱讀一長串說明更有趣和有效。在上下文環境中,使用動畫和可交互性循序漸進地引導用戶。要避免顯示看起來像可交互的屏幕截圖。

7、不要在一開始就詢問用戶設置信息

用戶希望一進入APP就能馬上操作。為大多數人設計你的APP,讓其他的少數想要不同配置的人自己調整APP內的參數來滿足他們的需求。儘可能從設備設置和默認值或通過同步服務(如iCloud)來獲取設置信息。

如果一定要詢問設置信息,請在用戶第一次使用APP就出現提示,並且應該允許用戶稍後在APP的設置中進行修改。

8、避免在APP內顯示許可協議和免責申明

在下載APP之前,直接在App Store展示許可協議和免責聲明。如果你一定要在APP中展示這些,請確保他們融入你的設計,並且不會破壞用戶體驗。

9、在重新啟動前恢復之前的狀態

不要讓用戶為了回到APP之前的位置而重複步驟。保留並恢復APP的狀態,以便他們可以從上次離開位置繼續運行。

像人人都是產品經理APP在這塊就做的很好,在退出APP後,不管你什麼時候再重新打開APP,都是退出之前在看的那篇文章。有時候因為某些原因退出了APP又忘記收藏文章,就不用再重新搜索尋找,這點體驗非常好。

10、不要頻繁讓用戶對你的APP進行評分

過快或過於頻繁地要求評分是很令人反感的,並且會讓最終收到的有用反饋的數量減少。

為了獲得一個更全面、客觀的用戶反饋,讓用戶有時間對APP有一個基本的瞭解之後再進行評分。一定要提供關閉評分提示的方法,永遠不要強迫用戶為你的APP評分。

11、不鼓勵重啟

重新啟動APP很耗費時間,而且會讓你的APP看起來不是那麼可靠而且很難用。如果APP是因為內存或其他問題難以運行,使得系統只能重啟,那你需要先去解決這些問題。

五、請求許可 (Requesting Permission)

APP必須得到用戶的授權才可以訪問其個人信息,包括:當前位置、日曆、聯繫人信息、提醒和照片等。雖然用戶可能會覺得APP直接獲取個新信息可能更方便,但他們也希望能夠控對自己的隱私數據進行自我管控。

例如:用戶喜歡系統自動獲取自己的實際位置去標記照片或尋找附近的朋友,但他們仍然希望可以選擇關閉這些功能。

設計原則:

1、在APP需要用到時才向用戶請求個人數據

用戶對個人信息的請求產生質疑是很正常的,尤其是他們發現當前的請求完全沒有必要時。確保只在用戶必須要用到個人數據時才會發出權限請求。

例如:APP可能只有在激活位置跟蹤功能時才會請求獲得用戶的當前位置。


iOS平臺設計規範(二)APP架構



2、解釋APP需要這些個人信息的原因

在系統的權限請求警示框中提供自定義文本(示例用途字符串)。使用簡短和具體、禮貌的文案,讓用戶感覺輕鬆,沒有壓力。文案中沒有必要包含APP的名稱 - 因為系統可以自動識別你的APP並帶入名稱。


iOS平臺設計規範(二)APP架構



3、只有關乎到APP的正常運行時,才會在啟動時出現請求權限

如果你的APP顯然只有獲得他們的個人信息才能正常運行,那麼用戶也不會對這個請求感到很反感。

4、沒有必要時不要請求位置信息

在獲得位置位置信息之前,檢查系統以查看是否已啟用位置服務。如果已經開啟, 你可以在用戶真的需要用到該功能時再進行警示框提醒,甚至可以直接省略掉警示框。

5、使用系統提供的警示框樣式

你可以在標準的權限警示框中自定義文本,但不要直接複製標準警示框行為的提示文本和外觀樣式。

六、設置(Setting)

一些APP可能一開始就需要用戶進行設置或配置選項,但大部分APP應該避免或者講設置操作延遲。

成功的APP可以一開始就讓大多數人覺得好用、易用,同時還提供了一些便捷的路徑來調整體驗。當你的APP可以滿足大部分用戶的需求時,你就可以弱化他們對設置的需要。

1、推測可以從系統中得到什麼

如果APP需要有關用戶、設備或環境的信息,請儘可能向系統請求,而不是直接詢問用戶。

例如:如果你想要知道用戶的郵政編碼來提供本地選項時,可以向用戶請求獲取他們的位置。如果用戶拒絕訪問其當前位置,則優雅地退回到手動輸入。

2、仔細考慮APP中配置選項的優先級

APP的的主頁是用來放置關鍵內容或者常用選項的。次級頁面更適合放置偶爾才會更改的選項。

3、不經常更改的配置選項放在系統“設置”中

系統的“設置”APP是更改系統配置的中心位置,但用戶必須離開你的APP才能到達“設置”APP。能在APP中直接調整設置會更方便。

4、在適當的時候提供去設置的快捷方式

如果APP包含引導用戶到“設置”的文本,例如:“轉到設置> MyApp>隱私>位置服務”,則會提供一個自動打開該位置的按鈕。


iOS平臺設計規範(二)APP架構


架構(APP Architecture)

一、加載(Loading)

當APP裡的內容正在加載時,一個空白或靜止的屏幕可能會讓APP看起來像是卡死了,從而讓用戶感到沮喪和不知所措,甚至可能導致用戶直接關掉APP放棄使用。


iOS平臺設計規範(二)APP架構



創建原則:

1、明確說明加載狀態

至少要有一個加載的圖標,可以表達正在發生的狀態。更好的方式是:使用類似進度條的形式,顯示明確的進度,讓用戶可以判斷自己大概需要等待多長時間。

2、儘快顯示內容

在用戶看到屏幕內容之前,不要讓用戶乾等著加載。你可以使用佔位符文本、圖形或動畫來告訴用戶,這個區域的內容還沒加載完成。在加載出內容後直接代替這些佔位符元素。後臺也要儘可能使用預加載,例如在播放動畫或用戶正在操作導航欄的選項卡時,後臺預先加載出來即將播放和顯示的內容。

3、自定義加載屏幕

雖然系統默認的進度指示器可以用,但有時會感覺它們脫離了主題,與APP的風格甚至顯得格格不入。設計師可以考慮用自定義動畫亦或是與APP風格相匹配的元素來設計,會使用戶有更沉浸式的體驗。


iOS平臺設計規範(二)APP架構



4、引導或娛樂用戶掩蓋加載時間

比如很多遊戲、視頻APP等,都可以放一段有趣的動畫或佔位圖作為加載提示,緩解用戶焦急的心情。(其實就是障眼法的意思)

缺點是:比較耗內存,一般遊戲APP裡用的比較多,普通的APP很少看到用動畫作為加載方式的,因為現在網絡越來越快,用戶只想儘快看到APP內的內容。


iOS平臺設計規範(二)APP架構



二、模態(Modality)

模態,是一種設計方式。一般作為臨時性的形式出現在頁面當中,需要顯示操作按鈕才可以退出。模態的意義在於:

  • 幫助用戶專注於一項與當前頁面密切相關的任務或選項
  • 確保用戶可以對重要操作採取行動


iOS平臺設計規範(二)APP架構

iOS提供您在應用中特定情況下使用的警報,活動視圖(或共享表)和操作表。在iOS13以下的版本,你需要自定義以下模態內容的演示樣式,而iOS 13及更高版本則默認以下演示樣式:

工作表

開卡片時被暫停的任務。用可以通過以下方式關閉卡片:

  • 從屏幕頂部向下滑動
  • 當卡片內容滾動到頂部時,從屏幕上的任何位置向下滑動
  • 點擊“關閉/取消”按鈕


注:工作表常用於無法啟用複雜任務的非模擬內容。

全屏

全屏模態視圖的演示樣式是涵蓋整個屏幕的,且完全覆蓋了之前的視圖,它最大限度地減輕了視覺上的干擾。用戶可以點擊按鈕來關閉全屏模態視圖。

對沉浸式內容(如視頻、照片或照相機視圖)使用全屏模態視圖,或者得益於全屏模態視圖的一些複雜任務(如標記文檔或編輯照片)。

注:如果使用當前上下文模式視圖樣式在拆分視圖窗格、彈出窗口或其他非全屏視圖中顯示模式內容,則在緊湊環境中顯示模式內容時應切換到使用工作表。

創建原則:

1、明確說明加載狀態

只有需要用戶集中注意力在做出選擇或執行與當前頁面不同的任務時,才能創建模態體驗。模態體驗使用戶脫離當前的頁面並需要用戶主動關閉,因此只有當創建模態體驗有明確的好處時才使用它。

2、在傳達重要信息或操作的情況下才使用警示框

通常情況下,彈出警示框意味著出現了問題。因為警示框會中斷體驗,需要點擊才能關閉。所以要讓用戶認為打斷是有必要的,這一點很重要。

3、確保模態上的任務簡單且集中

不要在你的APP中創建另一個APP。如果一個模態任務太複雜,那麼當用戶進入模態視圖時,他們可能會忽略他們之前被暫停的任務。

尤其謹慎創建太多層級結構的模態任務,因為用戶可能會在多個視圖中迷失不知道怎麼返回或忘記怎麼返回。如果模態任務必須包含子視圖,請提供清晰的返回路徑和完成路徑。

除非完成任務,否則不要使用“完成”按鈕。

4、始終要有取消/關閉模態視圖的按鈕

例如:你可以使用“完成”或“取消”。至少有一個按鈕以確保輔助技術訪問模態視圖,並代替手勢關閉模態視圖。

5、必要時,在關閉模態視圖之前進行確認,避免數據丟失

無論用戶使用手勢還是按鈕來關閉模態視圖,如果該操作可能導致用戶生成內容丟失,請提供解釋情況的操作表,併為用戶提供解決方法。


iOS平臺設計規範(二)APP架構

6、不要讓模態視圖出現在Popover(彈出式氣泡)上

除非是警示框,任何元素都不該出現在Popover上。在極少數情況下,當用戶在Popover中執行操作後需要用到模態視圖時,請在顯示模態視圖之前先關閉Popover。

7、通常,為模態任務設置一個標題

當用戶進入模態任務時,他們會離開之前的頁面,因此最好使前後操作清晰連貫。你也可以在視圖的其他部分中,提供更全面描述任務或指導的文本。

8、模態視圖外觀應與APP風格統一

例如,當模態視圖包含導航欄時,它應該採用與APP導航欄相同的外觀。

9、為模態視圖的展示提供一個合適的過渡方式

使用與APP風格統一的過渡樣式,增強用戶對內容轉變的認知。iOS默認的過渡方式是:模式視圖從屏幕底部向上滑入,被關閉時向下滑出。注意在整個APP中使用統一的模態轉換樣式。

三、導航(Navigation)

用戶往往會忽略APP的導航,除非當某些操作達不到他們的期望。我們的任務是在不會引起用戶過度注意的情況下,讓導航結構清晰、目的明確。導航在APP中應該顯得自然和熟悉,不應該主導界面或成為頁面內容中的焦點。

在iOS中,有三種主要的導航樣式:

(1) 層級導航

每一屏只能做一個選擇,直到到達你的目的地。如果要前往另一個目的地,您必須按原路一級級返回,並從最開始的位置做出的選擇。iOS的設置和郵件兩個APP就是使用這種導航樣式。

(2) 平級導航

在不同內容類別間進行切換,像音樂和App Store兩個APP就是用的這種導航樣式。(也是目前APP最常用的導航樣式)

(3) 內容驅動或體驗驅動導航

在APP的不同內容間切換,或者由內容本身定義導航。遊戲、書籍和其他沉浸式APP通常使用此導航樣式。

一些APP會結合多種導航樣式,例如:使用平級導航的應用可以在每個類別中使用分層導航。

設計原則:

1、始終提供清晰明確的路徑

用戶應該知道他們在APP中的位置以及如何到達下一個目的地。無論導航風格如何,操作路徑必須符合邏輯,可預知易於遵循。

一般情況下,一個頁面只給用戶提供一個入口。如果他們需要在多個場景下看到一個頁面內容,請考慮使用操作表、警示框、彈出式氣泡或模態視圖。

2、設計一種能快速、輕鬆地獲取內容的信息結構

為你的APP設計一個信息架構,在這個架構中,只需要最少的點擊、最少的滑動和最少的頁面數量便可以訪問相應內容。

3、使用手勢操作讓頁面切換更流暢

讓用戶以最小的阻力在頁面之間跳轉。例如,你可以讓人們從頁面側面滑動以返回上一個頁面。

4、使用標準導航組件

儘可能使用標準導航控件,例如頁面控件,標籤欄,分段控件,表視圖,集合視圖和拆分視圖。用戶已經很熟悉這些控件了,這樣能夠讓用戶更輕鬆地使用你的APP。

5、使用導航欄貫穿層級結構

導航欄的標題可以顯示層級結構中的當前位置,返回按鈕可以輕鬆返回到上一位置。

6、使用 Tab Bar(標籤欄)展示對應類別的內容或功能

使用標籤欄顯示對應類別的內容或功能。標籤欄可讓人們快速輕鬆地在不同類別之間切換。

7、同一類型頁面不同內容時可以使用頁面控件

頁面控件能清楚地傳達可用頁面總數和當前頁面位置。天氣APP就是使用頁面控件來展示不同地理位置的天氣情況。

四、新手引導(Onboarding)

APP啟動的這段時間是吸引新用戶和留住老用戶的一個機會。所以,請設計快速、有趣或者具有引導意義的啟動體驗。

設計原則:

1、提供啟動頁面

啟動頁面在APP被打開時出現,在加載初始內容的同時,有啟動頁給人的印象是APP響應很快。

啟動頁很快會被APP的首頁取代,所以它應該儘量與首屏相似,本地化的文本和交互元素除外(這一點在國內APP當中非常罕見)。

2、合適的方向啟動

如果你的APP同時支持縱屏和橫屏,則應該以設備的當前方向啟動。如果你的APP只在一個方向上運行,則應始終以該方向啟動,並在需要時允許用戶旋轉設備。

如果是APP是處於橫屏模式下,那麼不管用戶將設備是向左還是向右旋轉,APP都應該隨著旋轉正確地選擇顯示方向。(當然,有特殊原因除外)

3、快速進入

儘量避免顯示閃屏、菜單和說明,這些都會讓用戶花更長的時間來看到內容並開始使用你的APP。相反,讓人們直接潛進入最好。如果你的APP需要教學介紹或是引導,請務必提供一種跳過它們的方法,而且切忌向老用戶展示它們。

4、預想用戶可能會需要的幫助

主動尋找和思考用戶可能被卡住的地方。例如:遊戲中在暫停或角色沒有前進時顯示一些有用的提示。讓用戶可以重播教程,以防第一次進入APP的他們錯過任何內容。

5、只在教程中展示的重要信息

為新用戶提供引導是好的,但這並不意味著這樣做就能成為優秀的APP。更重要的是,你應該讓APP更直觀。如果你的APP需要過多的引導,那麼請重新審視/反思你的設計。

6、讓學習變得有趣和易於發現

邊做邊學比閱讀一長串說明更有趣和有效。在上下文環境中,使用動畫和可交互性循序漸進地引導用戶。要避免顯示看起來像可交互的屏幕截圖。

7、不要在一開始就詢問用戶設置信息

用戶希望一進入APP就能馬上操作。為大多數人設計你的APP,讓其他的少數想要不同配置的人自己調整APP內的參數來滿足他們的需求。儘可能從設備設置和默認值或通過同步服務(如iCloud)來獲取設置信息。

如果一定要詢問設置信息,請在用戶第一次使用APP就出現提示,並且應該允許用戶稍後在APP的設置中進行修改。

8、避免在APP內顯示許可協議和免責申明

在下載APP之前,直接在App Store展示許可協議和免責聲明。如果你一定要在APP中展示這些,請確保他們融入你的設計,並且不會破壞用戶體驗。

9、在重新啟動前恢復之前的狀態

不要讓用戶為了回到APP之前的位置而重複步驟。保留並恢復APP的狀態,以便他們可以從上次離開位置繼續運行。

像人人都是產品經理APP在這塊就做的很好,在退出APP後,不管你什麼時候再重新打開APP,都是退出之前在看的那篇文章。有時候因為某些原因退出了APP又忘記收藏文章,就不用再重新搜索尋找,這點體驗非常好。

10、不要頻繁讓用戶對你的APP進行評分

過快或過於頻繁地要求評分是很令人反感的,並且會讓最終收到的有用反饋的數量減少。

為了獲得一個更全面、客觀的用戶反饋,讓用戶有時間對APP有一個基本的瞭解之後再進行評分。一定要提供關閉評分提示的方法,永遠不要強迫用戶為你的APP評分。

11、不鼓勵重啟

重新啟動APP很耗費時間,而且會讓你的APP看起來不是那麼可靠而且很難用。如果APP是因為內存或其他問題難以運行,使得系統只能重啟,那你需要先去解決這些問題。

五、請求許可 (Requesting Permission)

APP必須得到用戶的授權才可以訪問其個人信息,包括:當前位置、日曆、聯繫人信息、提醒和照片等。雖然用戶可能會覺得APP直接獲取個新信息可能更方便,但他們也希望能夠控對自己的隱私數據進行自我管控。

例如:用戶喜歡系統自動獲取自己的實際位置去標記照片或尋找附近的朋友,但他們仍然希望可以選擇關閉這些功能。

設計原則:

1、在APP需要用到時才向用戶請求個人數據

用戶對個人信息的請求產生質疑是很正常的,尤其是他們發現當前的請求完全沒有必要時。確保只在用戶必須要用到個人數據時才會發出權限請求。

例如:APP可能只有在激活位置跟蹤功能時才會請求獲得用戶的當前位置。


"


iOS平臺設計規範(二)APP架構

無論是UI、交互,還是產品經理,都應該熟讀iOS平臺設計規範。這對我們的產品設計,百利而無一弊。


iOS平臺設計規範(二)APP架構


無論是UI、交互,還是產品經理,都應該熟讀iOS平臺設計規範。這對我們的產品設計,百利而無一弊。


架構(APP Architecture)

一、加載(Loading)

當APP裡的內容正在加載時,一個空白或靜止的屏幕可能會讓APP看起來像是卡死了,從而讓用戶感到沮喪和不知所措,甚至可能導致用戶直接關掉APP放棄使用。


iOS平臺設計規範(二)APP架構



創建原則:

1、明確說明加載狀態

至少要有一個加載的圖標,可以表達正在發生的狀態。更好的方式是:使用類似進度條的形式,顯示明確的進度,讓用戶可以判斷自己大概需要等待多長時間。

2、儘快顯示內容

在用戶看到屏幕內容之前,不要讓用戶乾等著加載。你可以使用佔位符文本、圖形或動畫來告訴用戶,這個區域的內容還沒加載完成。在加載出內容後直接代替這些佔位符元素。後臺也要儘可能使用預加載,例如在播放動畫或用戶正在操作導航欄的選項卡時,後臺預先加載出來即將播放和顯示的內容。

3、自定義加載屏幕

雖然系統默認的進度指示器可以用,但有時會感覺它們脫離了主題,與APP的風格甚至顯得格格不入。設計師可以考慮用自定義動畫亦或是與APP風格相匹配的元素來設計,會使用戶有更沉浸式的體驗。


iOS平臺設計規範(二)APP架構



4、引導或娛樂用戶掩蓋加載時間

比如很多遊戲、視頻APP等,都可以放一段有趣的動畫或佔位圖作為加載提示,緩解用戶焦急的心情。(其實就是障眼法的意思)

缺點是:比較耗內存,一般遊戲APP裡用的比較多,普通的APP很少看到用動畫作為加載方式的,因為現在網絡越來越快,用戶只想儘快看到APP內的內容。


iOS平臺設計規範(二)APP架構



二、模態(Modality)

模態,是一種設計方式。一般作為臨時性的形式出現在頁面當中,需要顯示操作按鈕才可以退出。模態的意義在於:

  • 幫助用戶專注於一項與當前頁面密切相關的任務或選項
  • 確保用戶可以對重要操作採取行動


iOS平臺設計規範(二)APP架構



iOS提供您在應用中特定情況下使用的警報,活動視圖(或共享表)和操作表。在iOS13以下的版本,你需要自定義以下模態內容的演示樣式,而iOS 13及更高版本則默認以下演示樣式:

工作表

開卡片時被暫停的任務。用可以通過以下方式關閉卡片:

  • 從屏幕頂部向下滑動
  • 當卡片內容滾動到頂部時,從屏幕上的任何位置向下滑動
  • 點擊“關閉/取消”按鈕


注:工作表常用於無法啟用複雜任務的非模擬內容。

全屏

全屏模態視圖的演示樣式是涵蓋整個屏幕的,且完全覆蓋了之前的視圖,它最大限度地減輕了視覺上的干擾。用戶可以點擊按鈕來關閉全屏模態視圖。

對沉浸式內容(如視頻、照片或照相機視圖)使用全屏模態視圖,或者得益於全屏模態視圖的一些複雜任務(如標記文檔或編輯照片)。

注:如果使用當前上下文模式視圖樣式在拆分視圖窗格、彈出窗口或其他非全屏視圖中顯示模式內容,則在緊湊環境中顯示模式內容時應切換到使用工作表。

創建原則:

1、明確說明加載狀態

只有需要用戶集中注意力在做出選擇或執行與當前頁面不同的任務時,才能創建模態體驗。模態體驗使用戶脫離當前的頁面並需要用戶主動關閉,因此只有當創建模態體驗有明確的好處時才使用它。

2、在傳達重要信息或操作的情況下才使用警示框

通常情況下,彈出警示框意味著出現了問題。因為警示框會中斷體驗,需要點擊才能關閉。所以要讓用戶認為打斷是有必要的,這一點很重要。

3、確保模態上的任務簡單且集中

不要在你的APP中創建另一個APP。如果一個模態任務太複雜,那麼當用戶進入模態視圖時,他們可能會忽略他們之前被暫停的任務。

尤其謹慎創建太多層級結構的模態任務,因為用戶可能會在多個視圖中迷失不知道怎麼返回或忘記怎麼返回。如果模態任務必須包含子視圖,請提供清晰的返回路徑和完成路徑。

除非完成任務,否則不要使用“完成”按鈕。

4、始終要有取消/關閉模態視圖的按鈕

例如:你可以使用“完成”或“取消”。至少有一個按鈕以確保輔助技術訪問模態視圖,並代替手勢關閉模態視圖。

5、必要時,在關閉模態視圖之前進行確認,避免數據丟失

無論用戶使用手勢還是按鈕來關閉模態視圖,如果該操作可能導致用戶生成內容丟失,請提供解釋情況的操作表,併為用戶提供解決方法。


iOS平臺設計規範(二)APP架構



6、不要讓模態視圖出現在Popover(彈出式氣泡)上

除非是警示框,任何元素都不該出現在Popover上。在極少數情況下,當用戶在Popover中執行操作後需要用到模態視圖時,請在顯示模態視圖之前先關閉Popover。

7、通常,為模態任務設置一個標題

當用戶進入模態任務時,他們會離開之前的頁面,因此最好使前後操作清晰連貫。你也可以在視圖的其他部分中,提供更全面描述任務或指導的文本。

8、模態視圖外觀應與APP風格統一

例如,當模態視圖包含導航欄時,它應該採用與APP導航欄相同的外觀。

9、為模態視圖的展示提供一個合適的過渡方式

使用與APP風格統一的過渡樣式,增強用戶對內容轉變的認知。iOS默認的過渡方式是:模式視圖從屏幕底部向上滑入,被關閉時向下滑出。注意在整個APP中使用統一的模態轉換樣式。

三、導航(Navigation)

用戶往往會忽略APP的導航,除非當某些操作達不到他們的期望。我們的任務是在不會引起用戶過度注意的情況下,讓導航結構清晰、目的明確。導航在APP中應該顯得自然和熟悉,不應該主導界面或成為頁面內容中的焦點。

在iOS中,有三種主要的導航樣式:

(1) 層級導航

每一屏只能做一個選擇,直到到達你的目的地。如果要前往另一個目的地,您必須按原路一級級返回,並從最開始的位置做出的選擇。iOS的設置和郵件兩個APP就是使用這種導航樣式。

(2) 平級導航

在不同內容類別間進行切換,像音樂和App Store兩個APP就是用的這種導航樣式。(也是目前APP最常用的導航樣式)

(3) 內容驅動或體驗驅動導航

在APP的不同內容間切換,或者由內容本身定義導航。遊戲、書籍和其他沉浸式APP通常使用此導航樣式。

一些APP會結合多種導航樣式,例如:使用平級導航的應用可以在每個類別中使用分層導航。

設計原則:

1、始終提供清晰明確的路徑

用戶應該知道他們在APP中的位置以及如何到達下一個目的地。無論導航風格如何,操作路徑必須符合邏輯,可預知易於遵循。

一般情況下,一個頁面只給用戶提供一個入口。如果他們需要在多個場景下看到一個頁面內容,請考慮使用操作表、警示框、彈出式氣泡或模態視圖。

2、設計一種能快速、輕鬆地獲取內容的信息結構

為你的APP設計一個信息架構,在這個架構中,只需要最少的點擊、最少的滑動和最少的頁面數量便可以訪問相應內容。

3、使用手勢操作讓頁面切換更流暢

讓用戶以最小的阻力在頁面之間跳轉。例如,你可以讓人們從頁面側面滑動以返回上一個頁面。

4、使用標準導航組件

儘可能使用標準導航控件,例如頁面控件,標籤欄,分段控件,表視圖,集合視圖和拆分視圖。用戶已經很熟悉這些控件了,這樣能夠讓用戶更輕鬆地使用你的APP。

5、使用導航欄貫穿層級結構

導航欄的標題可以顯示層級結構中的當前位置,返回按鈕可以輕鬆返回到上一位置。

6、使用 Tab Bar(標籤欄)展示對應類別的內容或功能

使用標籤欄顯示對應類別的內容或功能。標籤欄可讓人們快速輕鬆地在不同類別之間切換。

7、同一類型頁面不同內容時可以使用頁面控件

頁面控件能清楚地傳達可用頁面總數和當前頁面位置。天氣APP就是使用頁面控件來展示不同地理位置的天氣情況。

四、新手引導(Onboarding)

APP啟動的這段時間是吸引新用戶和留住老用戶的一個機會。所以,請設計快速、有趣或者具有引導意義的啟動體驗。

設計原則:

1、提供啟動頁面

啟動頁面在APP被打開時出現,在加載初始內容的同時,有啟動頁給人的印象是APP響應很快。

啟動頁很快會被APP的首頁取代,所以它應該儘量與首屏相似,本地化的文本和交互元素除外(這一點在國內APP當中非常罕見)。

2、合適的方向啟動

如果你的APP同時支持縱屏和橫屏,則應該以設備的當前方向啟動。如果你的APP只在一個方向上運行,則應始終以該方向啟動,並在需要時允許用戶旋轉設備。

如果是APP是處於橫屏模式下,那麼不管用戶將設備是向左還是向右旋轉,APP都應該隨著旋轉正確地選擇顯示方向。(當然,有特殊原因除外)

3、快速進入

儘量避免顯示閃屏、菜單和說明,這些都會讓用戶花更長的時間來看到內容並開始使用你的APP。相反,讓人們直接潛進入最好。如果你的APP需要教學介紹或是引導,請務必提供一種跳過它們的方法,而且切忌向老用戶展示它們。

4、預想用戶可能會需要的幫助

主動尋找和思考用戶可能被卡住的地方。例如:遊戲中在暫停或角色沒有前進時顯示一些有用的提示。讓用戶可以重播教程,以防第一次進入APP的他們錯過任何內容。

5、只在教程中展示的重要信息

為新用戶提供引導是好的,但這並不意味著這樣做就能成為優秀的APP。更重要的是,你應該讓APP更直觀。如果你的APP需要過多的引導,那麼請重新審視/反思你的設計。

6、讓學習變得有趣和易於發現

邊做邊學比閱讀一長串說明更有趣和有效。在上下文環境中,使用動畫和可交互性循序漸進地引導用戶。要避免顯示看起來像可交互的屏幕截圖。

7、不要在一開始就詢問用戶設置信息

用戶希望一進入APP就能馬上操作。為大多數人設計你的APP,讓其他的少數想要不同配置的人自己調整APP內的參數來滿足他們的需求。儘可能從設備設置和默認值或通過同步服務(如iCloud)來獲取設置信息。

如果一定要詢問設置信息,請在用戶第一次使用APP就出現提示,並且應該允許用戶稍後在APP的設置中進行修改。

8、避免在APP內顯示許可協議和免責申明

在下載APP之前,直接在App Store展示許可協議和免責聲明。如果你一定要在APP中展示這些,請確保他們融入你的設計,並且不會破壞用戶體驗。

9、在重新啟動前恢復之前的狀態

不要讓用戶為了回到APP之前的位置而重複步驟。保留並恢復APP的狀態,以便他們可以從上次離開位置繼續運行。

像人人都是產品經理APP在這塊就做的很好,在退出APP後,不管你什麼時候再重新打開APP,都是退出之前在看的那篇文章。有時候因為某些原因退出了APP又忘記收藏文章,就不用再重新搜索尋找,這點體驗非常好。

10、不要頻繁讓用戶對你的APP進行評分

過快或過於頻繁地要求評分是很令人反感的,並且會讓最終收到的有用反饋的數量減少。

為了獲得一個更全面、客觀的用戶反饋,讓用戶有時間對APP有一個基本的瞭解之後再進行評分。一定要提供關閉評分提示的方法,永遠不要強迫用戶為你的APP評分。

11、不鼓勵重啟

重新啟動APP很耗費時間,而且會讓你的APP看起來不是那麼可靠而且很難用。如果APP是因為內存或其他問題難以運行,使得系統只能重啟,那你需要先去解決這些問題。

五、請求許可 (Requesting Permission)

APP必須得到用戶的授權才可以訪問其個人信息,包括:當前位置、日曆、聯繫人信息、提醒和照片等。雖然用戶可能會覺得APP直接獲取個新信息可能更方便,但他們也希望能夠控對自己的隱私數據進行自我管控。

例如:用戶喜歡系統自動獲取自己的實際位置去標記照片或尋找附近的朋友,但他們仍然希望可以選擇關閉這些功能。

設計原則:

1、在APP需要用到時才向用戶請求個人數據

用戶對個人信息的請求產生質疑是很正常的,尤其是他們發現當前的請求完全沒有必要時。確保只在用戶必須要用到個人數據時才會發出權限請求。

例如:APP可能只有在激活位置跟蹤功能時才會請求獲得用戶的當前位置。


iOS平臺設計規範(二)APP架構



2、解釋APP需要這些個人信息的原因

在系統的權限請求警示框中提供自定義文本(示例用途字符串)。使用簡短和具體、禮貌的文案,讓用戶感覺輕鬆,沒有壓力。文案中沒有必要包含APP的名稱 - 因為系統可以自動識別你的APP並帶入名稱。


iOS平臺設計規範(二)APP架構



3、只有關乎到APP的正常運行時,才會在啟動時出現請求權限

如果你的APP顯然只有獲得他們的個人信息才能正常運行,那麼用戶也不會對這個請求感到很反感。

4、沒有必要時不要請求位置信息

在獲得位置位置信息之前,檢查系統以查看是否已啟用位置服務。如果已經開啟, 你可以在用戶真的需要用到該功能時再進行警示框提醒,甚至可以直接省略掉警示框。

5、使用系統提供的警示框樣式

你可以在標準的權限警示框中自定義文本,但不要直接複製標準警示框行為的提示文本和外觀樣式。

六、設置(Setting)

一些APP可能一開始就需要用戶進行設置或配置選項,但大部分APP應該避免或者講設置操作延遲。

成功的APP可以一開始就讓大多數人覺得好用、易用,同時還提供了一些便捷的路徑來調整體驗。當你的APP可以滿足大部分用戶的需求時,你就可以弱化他們對設置的需要。

1、推測可以從系統中得到什麼

如果APP需要有關用戶、設備或環境的信息,請儘可能向系統請求,而不是直接詢問用戶。

例如:如果你想要知道用戶的郵政編碼來提供本地選項時,可以向用戶請求獲取他們的位置。如果用戶拒絕訪問其當前位置,則優雅地退回到手動輸入。

2、仔細考慮APP中配置選項的優先級

APP的的主頁是用來放置關鍵內容或者常用選項的。次級頁面更適合放置偶爾才會更改的選項。

3、不經常更改的配置選項放在系統“設置”中

系統的“設置”APP是更改系統配置的中心位置,但用戶必須離開你的APP才能到達“設置”APP。能在APP中直接調整設置會更方便。

4、在適當的時候提供去設置的快捷方式

如果APP包含引導用戶到“設置”的文本,例如:“轉到設置> MyApp>隱私>位置服務”,則會提供一個自動打開該位置的按鈕。


iOS平臺設計規範(二)APP架構


架構(APP Architecture)

一、加載(Loading)

當APP裡的內容正在加載時,一個空白或靜止的屏幕可能會讓APP看起來像是卡死了,從而讓用戶感到沮喪和不知所措,甚至可能導致用戶直接關掉APP放棄使用。


iOS平臺設計規範(二)APP架構



創建原則:

1、明確說明加載狀態

至少要有一個加載的圖標,可以表達正在發生的狀態。更好的方式是:使用類似進度條的形式,顯示明確的進度,讓用戶可以判斷自己大概需要等待多長時間。

2、儘快顯示內容

在用戶看到屏幕內容之前,不要讓用戶乾等著加載。你可以使用佔位符文本、圖形或動畫來告訴用戶,這個區域的內容還沒加載完成。在加載出內容後直接代替這些佔位符元素。後臺也要儘可能使用預加載,例如在播放動畫或用戶正在操作導航欄的選項卡時,後臺預先加載出來即將播放和顯示的內容。

3、自定義加載屏幕

雖然系統默認的進度指示器可以用,但有時會感覺它們脫離了主題,與APP的風格甚至顯得格格不入。設計師可以考慮用自定義動畫亦或是與APP風格相匹配的元素來設計,會使用戶有更沉浸式的體驗。


iOS平臺設計規範(二)APP架構



4、引導或娛樂用戶掩蓋加載時間

比如很多遊戲、視頻APP等,都可以放一段有趣的動畫或佔位圖作為加載提示,緩解用戶焦急的心情。(其實就是障眼法的意思)

缺點是:比較耗內存,一般遊戲APP裡用的比較多,普通的APP很少看到用動畫作為加載方式的,因為現在網絡越來越快,用戶只想儘快看到APP內的內容。


iOS平臺設計規範(二)APP架構



二、模態(Modality)

模態,是一種設計方式。一般作為臨時性的形式出現在頁面當中,需要顯示操作按鈕才可以退出。模態的意義在於:

  • 幫助用戶專注於一項與當前頁面密切相關的任務或選項
  • 確保用戶可以對重要操作採取行動


iOS平臺設計規範(二)APP架構

iOS提供您在應用中特定情況下使用的警報,活動視圖(或共享表)和操作表。在iOS13以下的版本,你需要自定義以下模態內容的演示樣式,而iOS 13及更高版本則默認以下演示樣式:

工作表

開卡片時被暫停的任務。用可以通過以下方式關閉卡片:

  • 從屏幕頂部向下滑動
  • 當卡片內容滾動到頂部時,從屏幕上的任何位置向下滑動
  • 點擊“關閉/取消”按鈕


注:工作表常用於無法啟用複雜任務的非模擬內容。

全屏

全屏模態視圖的演示樣式是涵蓋整個屏幕的,且完全覆蓋了之前的視圖,它最大限度地減輕了視覺上的干擾。用戶可以點擊按鈕來關閉全屏模態視圖。

對沉浸式內容(如視頻、照片或照相機視圖)使用全屏模態視圖,或者得益於全屏模態視圖的一些複雜任務(如標記文檔或編輯照片)。

注:如果使用當前上下文模式視圖樣式在拆分視圖窗格、彈出窗口或其他非全屏視圖中顯示模式內容,則在緊湊環境中顯示模式內容時應切換到使用工作表。

創建原則:

1、明確說明加載狀態

只有需要用戶集中注意力在做出選擇或執行與當前頁面不同的任務時,才能創建模態體驗。模態體驗使用戶脫離當前的頁面並需要用戶主動關閉,因此只有當創建模態體驗有明確的好處時才使用它。

2、在傳達重要信息或操作的情況下才使用警示框

通常情況下,彈出警示框意味著出現了問題。因為警示框會中斷體驗,需要點擊才能關閉。所以要讓用戶認為打斷是有必要的,這一點很重要。

3、確保模態上的任務簡單且集中

不要在你的APP中創建另一個APP。如果一個模態任務太複雜,那麼當用戶進入模態視圖時,他們可能會忽略他們之前被暫停的任務。

尤其謹慎創建太多層級結構的模態任務,因為用戶可能會在多個視圖中迷失不知道怎麼返回或忘記怎麼返回。如果模態任務必須包含子視圖,請提供清晰的返回路徑和完成路徑。

除非完成任務,否則不要使用“完成”按鈕。

4、始終要有取消/關閉模態視圖的按鈕

例如:你可以使用“完成”或“取消”。至少有一個按鈕以確保輔助技術訪問模態視圖,並代替手勢關閉模態視圖。

5、必要時,在關閉模態視圖之前進行確認,避免數據丟失

無論用戶使用手勢還是按鈕來關閉模態視圖,如果該操作可能導致用戶生成內容丟失,請提供解釋情況的操作表,併為用戶提供解決方法。


iOS平臺設計規範(二)APP架構

6、不要讓模態視圖出現在Popover(彈出式氣泡)上

除非是警示框,任何元素都不該出現在Popover上。在極少數情況下,當用戶在Popover中執行操作後需要用到模態視圖時,請在顯示模態視圖之前先關閉Popover。

7、通常,為模態任務設置一個標題

當用戶進入模態任務時,他們會離開之前的頁面,因此最好使前後操作清晰連貫。你也可以在視圖的其他部分中,提供更全面描述任務或指導的文本。

8、模態視圖外觀應與APP風格統一

例如,當模態視圖包含導航欄時,它應該採用與APP導航欄相同的外觀。

9、為模態視圖的展示提供一個合適的過渡方式

使用與APP風格統一的過渡樣式,增強用戶對內容轉變的認知。iOS默認的過渡方式是:模式視圖從屏幕底部向上滑入,被關閉時向下滑出。注意在整個APP中使用統一的模態轉換樣式。

三、導航(Navigation)

用戶往往會忽略APP的導航,除非當某些操作達不到他們的期望。我們的任務是在不會引起用戶過度注意的情況下,讓導航結構清晰、目的明確。導航在APP中應該顯得自然和熟悉,不應該主導界面或成為頁面內容中的焦點。

在iOS中,有三種主要的導航樣式:

(1) 層級導航

每一屏只能做一個選擇,直到到達你的目的地。如果要前往另一個目的地,您必須按原路一級級返回,並從最開始的位置做出的選擇。iOS的設置和郵件兩個APP就是使用這種導航樣式。

(2) 平級導航

在不同內容類別間進行切換,像音樂和App Store兩個APP就是用的這種導航樣式。(也是目前APP最常用的導航樣式)

(3) 內容驅動或體驗驅動導航

在APP的不同內容間切換,或者由內容本身定義導航。遊戲、書籍和其他沉浸式APP通常使用此導航樣式。

一些APP會結合多種導航樣式,例如:使用平級導航的應用可以在每個類別中使用分層導航。

設計原則:

1、始終提供清晰明確的路徑

用戶應該知道他們在APP中的位置以及如何到達下一個目的地。無論導航風格如何,操作路徑必須符合邏輯,可預知易於遵循。

一般情況下,一個頁面只給用戶提供一個入口。如果他們需要在多個場景下看到一個頁面內容,請考慮使用操作表、警示框、彈出式氣泡或模態視圖。

2、設計一種能快速、輕鬆地獲取內容的信息結構

為你的APP設計一個信息架構,在這個架構中,只需要最少的點擊、最少的滑動和最少的頁面數量便可以訪問相應內容。

3、使用手勢操作讓頁面切換更流暢

讓用戶以最小的阻力在頁面之間跳轉。例如,你可以讓人們從頁面側面滑動以返回上一個頁面。

4、使用標準導航組件

儘可能使用標準導航控件,例如頁面控件,標籤欄,分段控件,表視圖,集合視圖和拆分視圖。用戶已經很熟悉這些控件了,這樣能夠讓用戶更輕鬆地使用你的APP。

5、使用導航欄貫穿層級結構

導航欄的標題可以顯示層級結構中的當前位置,返回按鈕可以輕鬆返回到上一位置。

6、使用 Tab Bar(標籤欄)展示對應類別的內容或功能

使用標籤欄顯示對應類別的內容或功能。標籤欄可讓人們快速輕鬆地在不同類別之間切換。

7、同一類型頁面不同內容時可以使用頁面控件

頁面控件能清楚地傳達可用頁面總數和當前頁面位置。天氣APP就是使用頁面控件來展示不同地理位置的天氣情況。

四、新手引導(Onboarding)

APP啟動的這段時間是吸引新用戶和留住老用戶的一個機會。所以,請設計快速、有趣或者具有引導意義的啟動體驗。

設計原則:

1、提供啟動頁面

啟動頁面在APP被打開時出現,在加載初始內容的同時,有啟動頁給人的印象是APP響應很快。

啟動頁很快會被APP的首頁取代,所以它應該儘量與首屏相似,本地化的文本和交互元素除外(這一點在國內APP當中非常罕見)。

2、合適的方向啟動

如果你的APP同時支持縱屏和橫屏,則應該以設備的當前方向啟動。如果你的APP只在一個方向上運行,則應始終以該方向啟動,並在需要時允許用戶旋轉設備。

如果是APP是處於橫屏模式下,那麼不管用戶將設備是向左還是向右旋轉,APP都應該隨著旋轉正確地選擇顯示方向。(當然,有特殊原因除外)

3、快速進入

儘量避免顯示閃屏、菜單和說明,這些都會讓用戶花更長的時間來看到內容並開始使用你的APP。相反,讓人們直接潛進入最好。如果你的APP需要教學介紹或是引導,請務必提供一種跳過它們的方法,而且切忌向老用戶展示它們。

4、預想用戶可能會需要的幫助

主動尋找和思考用戶可能被卡住的地方。例如:遊戲中在暫停或角色沒有前進時顯示一些有用的提示。讓用戶可以重播教程,以防第一次進入APP的他們錯過任何內容。

5、只在教程中展示的重要信息

為新用戶提供引導是好的,但這並不意味著這樣做就能成為優秀的APP。更重要的是,你應該讓APP更直觀。如果你的APP需要過多的引導,那麼請重新審視/反思你的設計。

6、讓學習變得有趣和易於發現

邊做邊學比閱讀一長串說明更有趣和有效。在上下文環境中,使用動畫和可交互性循序漸進地引導用戶。要避免顯示看起來像可交互的屏幕截圖。

7、不要在一開始就詢問用戶設置信息

用戶希望一進入APP就能馬上操作。為大多數人設計你的APP,讓其他的少數想要不同配置的人自己調整APP內的參數來滿足他們的需求。儘可能從設備設置和默認值或通過同步服務(如iCloud)來獲取設置信息。

如果一定要詢問設置信息,請在用戶第一次使用APP就出現提示,並且應該允許用戶稍後在APP的設置中進行修改。

8、避免在APP內顯示許可協議和免責申明

在下載APP之前,直接在App Store展示許可協議和免責聲明。如果你一定要在APP中展示這些,請確保他們融入你的設計,並且不會破壞用戶體驗。

9、在重新啟動前恢復之前的狀態

不要讓用戶為了回到APP之前的位置而重複步驟。保留並恢復APP的狀態,以便他們可以從上次離開位置繼續運行。

像人人都是產品經理APP在這塊就做的很好,在退出APP後,不管你什麼時候再重新打開APP,都是退出之前在看的那篇文章。有時候因為某些原因退出了APP又忘記收藏文章,就不用再重新搜索尋找,這點體驗非常好。

10、不要頻繁讓用戶對你的APP進行評分

過快或過於頻繁地要求評分是很令人反感的,並且會讓最終收到的有用反饋的數量減少。

為了獲得一個更全面、客觀的用戶反饋,讓用戶有時間對APP有一個基本的瞭解之後再進行評分。一定要提供關閉評分提示的方法,永遠不要強迫用戶為你的APP評分。

11、不鼓勵重啟

重新啟動APP很耗費時間,而且會讓你的APP看起來不是那麼可靠而且很難用。如果APP是因為內存或其他問題難以運行,使得系統只能重啟,那你需要先去解決這些問題。

五、請求許可 (Requesting Permission)

APP必須得到用戶的授權才可以訪問其個人信息,包括:當前位置、日曆、聯繫人信息、提醒和照片等。雖然用戶可能會覺得APP直接獲取個新信息可能更方便,但他們也希望能夠控對自己的隱私數據進行自我管控。

例如:用戶喜歡系統自動獲取自己的實際位置去標記照片或尋找附近的朋友,但他們仍然希望可以選擇關閉這些功能。

設計原則:

1、在APP需要用到時才向用戶請求個人數據

用戶對個人信息的請求產生質疑是很正常的,尤其是他們發現當前的請求完全沒有必要時。確保只在用戶必須要用到個人數據時才會發出權限請求。

例如:APP可能只有在激活位置跟蹤功能時才會請求獲得用戶的當前位置。


iOS平臺設計規範(二)APP架構

2、解釋APP需要這些個人信息的原因

在系統的權限請求警示框中提供自定義文本(示例用途字符串)。使用簡短和具體、禮貌的文案,讓用戶感覺輕鬆,沒有壓力。文案中沒有必要包含APP的名稱 - 因為系統可以自動識別你的APP並帶入名稱。


"


iOS平臺設計規範(二)APP架構

無論是UI、交互,還是產品經理,都應該熟讀iOS平臺設計規範。這對我們的產品設計,百利而無一弊。


iOS平臺設計規範(二)APP架構


無論是UI、交互,還是產品經理,都應該熟讀iOS平臺設計規範。這對我們的產品設計,百利而無一弊。


架構(APP Architecture)

一、加載(Loading)

當APP裡的內容正在加載時,一個空白或靜止的屏幕可能會讓APP看起來像是卡死了,從而讓用戶感到沮喪和不知所措,甚至可能導致用戶直接關掉APP放棄使用。


iOS平臺設計規範(二)APP架構



創建原則:

1、明確說明加載狀態

至少要有一個加載的圖標,可以表達正在發生的狀態。更好的方式是:使用類似進度條的形式,顯示明確的進度,讓用戶可以判斷自己大概需要等待多長時間。

2、儘快顯示內容

在用戶看到屏幕內容之前,不要讓用戶乾等著加載。你可以使用佔位符文本、圖形或動畫來告訴用戶,這個區域的內容還沒加載完成。在加載出內容後直接代替這些佔位符元素。後臺也要儘可能使用預加載,例如在播放動畫或用戶正在操作導航欄的選項卡時,後臺預先加載出來即將播放和顯示的內容。

3、自定義加載屏幕

雖然系統默認的進度指示器可以用,但有時會感覺它們脫離了主題,與APP的風格甚至顯得格格不入。設計師可以考慮用自定義動畫亦或是與APP風格相匹配的元素來設計,會使用戶有更沉浸式的體驗。


iOS平臺設計規範(二)APP架構



4、引導或娛樂用戶掩蓋加載時間

比如很多遊戲、視頻APP等,都可以放一段有趣的動畫或佔位圖作為加載提示,緩解用戶焦急的心情。(其實就是障眼法的意思)

缺點是:比較耗內存,一般遊戲APP裡用的比較多,普通的APP很少看到用動畫作為加載方式的,因為現在網絡越來越快,用戶只想儘快看到APP內的內容。


iOS平臺設計規範(二)APP架構



二、模態(Modality)

模態,是一種設計方式。一般作為臨時性的形式出現在頁面當中,需要顯示操作按鈕才可以退出。模態的意義在於:

  • 幫助用戶專注於一項與當前頁面密切相關的任務或選項
  • 確保用戶可以對重要操作採取行動


iOS平臺設計規範(二)APP架構



iOS提供您在應用中特定情況下使用的警報,活動視圖(或共享表)和操作表。在iOS13以下的版本,你需要自定義以下模態內容的演示樣式,而iOS 13及更高版本則默認以下演示樣式:

工作表

開卡片時被暫停的任務。用可以通過以下方式關閉卡片:

  • 從屏幕頂部向下滑動
  • 當卡片內容滾動到頂部時,從屏幕上的任何位置向下滑動
  • 點擊“關閉/取消”按鈕


注:工作表常用於無法啟用複雜任務的非模擬內容。

全屏

全屏模態視圖的演示樣式是涵蓋整個屏幕的,且完全覆蓋了之前的視圖,它最大限度地減輕了視覺上的干擾。用戶可以點擊按鈕來關閉全屏模態視圖。

對沉浸式內容(如視頻、照片或照相機視圖)使用全屏模態視圖,或者得益於全屏模態視圖的一些複雜任務(如標記文檔或編輯照片)。

注:如果使用當前上下文模式視圖樣式在拆分視圖窗格、彈出窗口或其他非全屏視圖中顯示模式內容,則在緊湊環境中顯示模式內容時應切換到使用工作表。

創建原則:

1、明確說明加載狀態

只有需要用戶集中注意力在做出選擇或執行與當前頁面不同的任務時,才能創建模態體驗。模態體驗使用戶脫離當前的頁面並需要用戶主動關閉,因此只有當創建模態體驗有明確的好處時才使用它。

2、在傳達重要信息或操作的情況下才使用警示框

通常情況下,彈出警示框意味著出現了問題。因為警示框會中斷體驗,需要點擊才能關閉。所以要讓用戶認為打斷是有必要的,這一點很重要。

3、確保模態上的任務簡單且集中

不要在你的APP中創建另一個APP。如果一個模態任務太複雜,那麼當用戶進入模態視圖時,他們可能會忽略他們之前被暫停的任務。

尤其謹慎創建太多層級結構的模態任務,因為用戶可能會在多個視圖中迷失不知道怎麼返回或忘記怎麼返回。如果模態任務必須包含子視圖,請提供清晰的返回路徑和完成路徑。

除非完成任務,否則不要使用“完成”按鈕。

4、始終要有取消/關閉模態視圖的按鈕

例如:你可以使用“完成”或“取消”。至少有一個按鈕以確保輔助技術訪問模態視圖,並代替手勢關閉模態視圖。

5、必要時,在關閉模態視圖之前進行確認,避免數據丟失

無論用戶使用手勢還是按鈕來關閉模態視圖,如果該操作可能導致用戶生成內容丟失,請提供解釋情況的操作表,併為用戶提供解決方法。


iOS平臺設計規範(二)APP架構



6、不要讓模態視圖出現在Popover(彈出式氣泡)上

除非是警示框,任何元素都不該出現在Popover上。在極少數情況下,當用戶在Popover中執行操作後需要用到模態視圖時,請在顯示模態視圖之前先關閉Popover。

7、通常,為模態任務設置一個標題

當用戶進入模態任務時,他們會離開之前的頁面,因此最好使前後操作清晰連貫。你也可以在視圖的其他部分中,提供更全面描述任務或指導的文本。

8、模態視圖外觀應與APP風格統一

例如,當模態視圖包含導航欄時,它應該採用與APP導航欄相同的外觀。

9、為模態視圖的展示提供一個合適的過渡方式

使用與APP風格統一的過渡樣式,增強用戶對內容轉變的認知。iOS默認的過渡方式是:模式視圖從屏幕底部向上滑入,被關閉時向下滑出。注意在整個APP中使用統一的模態轉換樣式。

三、導航(Navigation)

用戶往往會忽略APP的導航,除非當某些操作達不到他們的期望。我們的任務是在不會引起用戶過度注意的情況下,讓導航結構清晰、目的明確。導航在APP中應該顯得自然和熟悉,不應該主導界面或成為頁面內容中的焦點。

在iOS中,有三種主要的導航樣式:

(1) 層級導航

每一屏只能做一個選擇,直到到達你的目的地。如果要前往另一個目的地,您必須按原路一級級返回,並從最開始的位置做出的選擇。iOS的設置和郵件兩個APP就是使用這種導航樣式。

(2) 平級導航

在不同內容類別間進行切換,像音樂和App Store兩個APP就是用的這種導航樣式。(也是目前APP最常用的導航樣式)

(3) 內容驅動或體驗驅動導航

在APP的不同內容間切換,或者由內容本身定義導航。遊戲、書籍和其他沉浸式APP通常使用此導航樣式。

一些APP會結合多種導航樣式,例如:使用平級導航的應用可以在每個類別中使用分層導航。

設計原則:

1、始終提供清晰明確的路徑

用戶應該知道他們在APP中的位置以及如何到達下一個目的地。無論導航風格如何,操作路徑必須符合邏輯,可預知易於遵循。

一般情況下,一個頁面只給用戶提供一個入口。如果他們需要在多個場景下看到一個頁面內容,請考慮使用操作表、警示框、彈出式氣泡或模態視圖。

2、設計一種能快速、輕鬆地獲取內容的信息結構

為你的APP設計一個信息架構,在這個架構中,只需要最少的點擊、最少的滑動和最少的頁面數量便可以訪問相應內容。

3、使用手勢操作讓頁面切換更流暢

讓用戶以最小的阻力在頁面之間跳轉。例如,你可以讓人們從頁面側面滑動以返回上一個頁面。

4、使用標準導航組件

儘可能使用標準導航控件,例如頁面控件,標籤欄,分段控件,表視圖,集合視圖和拆分視圖。用戶已經很熟悉這些控件了,這樣能夠讓用戶更輕鬆地使用你的APP。

5、使用導航欄貫穿層級結構

導航欄的標題可以顯示層級結構中的當前位置,返回按鈕可以輕鬆返回到上一位置。

6、使用 Tab Bar(標籤欄)展示對應類別的內容或功能

使用標籤欄顯示對應類別的內容或功能。標籤欄可讓人們快速輕鬆地在不同類別之間切換。

7、同一類型頁面不同內容時可以使用頁面控件

頁面控件能清楚地傳達可用頁面總數和當前頁面位置。天氣APP就是使用頁面控件來展示不同地理位置的天氣情況。

四、新手引導(Onboarding)

APP啟動的這段時間是吸引新用戶和留住老用戶的一個機會。所以,請設計快速、有趣或者具有引導意義的啟動體驗。

設計原則:

1、提供啟動頁面

啟動頁面在APP被打開時出現,在加載初始內容的同時,有啟動頁給人的印象是APP響應很快。

啟動頁很快會被APP的首頁取代,所以它應該儘量與首屏相似,本地化的文本和交互元素除外(這一點在國內APP當中非常罕見)。

2、合適的方向啟動

如果你的APP同時支持縱屏和橫屏,則應該以設備的當前方向啟動。如果你的APP只在一個方向上運行,則應始終以該方向啟動,並在需要時允許用戶旋轉設備。

如果是APP是處於橫屏模式下,那麼不管用戶將設備是向左還是向右旋轉,APP都應該隨著旋轉正確地選擇顯示方向。(當然,有特殊原因除外)

3、快速進入

儘量避免顯示閃屏、菜單和說明,這些都會讓用戶花更長的時間來看到內容並開始使用你的APP。相反,讓人們直接潛進入最好。如果你的APP需要教學介紹或是引導,請務必提供一種跳過它們的方法,而且切忌向老用戶展示它們。

4、預想用戶可能會需要的幫助

主動尋找和思考用戶可能被卡住的地方。例如:遊戲中在暫停或角色沒有前進時顯示一些有用的提示。讓用戶可以重播教程,以防第一次進入APP的他們錯過任何內容。

5、只在教程中展示的重要信息

為新用戶提供引導是好的,但這並不意味著這樣做就能成為優秀的APP。更重要的是,你應該讓APP更直觀。如果你的APP需要過多的引導,那麼請重新審視/反思你的設計。

6、讓學習變得有趣和易於發現

邊做邊學比閱讀一長串說明更有趣和有效。在上下文環境中,使用動畫和可交互性循序漸進地引導用戶。要避免顯示看起來像可交互的屏幕截圖。

7、不要在一開始就詢問用戶設置信息

用戶希望一進入APP就能馬上操作。為大多數人設計你的APP,讓其他的少數想要不同配置的人自己調整APP內的參數來滿足他們的需求。儘可能從設備設置和默認值或通過同步服務(如iCloud)來獲取設置信息。

如果一定要詢問設置信息,請在用戶第一次使用APP就出現提示,並且應該允許用戶稍後在APP的設置中進行修改。

8、避免在APP內顯示許可協議和免責申明

在下載APP之前,直接在App Store展示許可協議和免責聲明。如果你一定要在APP中展示這些,請確保他們融入你的設計,並且不會破壞用戶體驗。

9、在重新啟動前恢復之前的狀態

不要讓用戶為了回到APP之前的位置而重複步驟。保留並恢復APP的狀態,以便他們可以從上次離開位置繼續運行。

像人人都是產品經理APP在這塊就做的很好,在退出APP後,不管你什麼時候再重新打開APP,都是退出之前在看的那篇文章。有時候因為某些原因退出了APP又忘記收藏文章,就不用再重新搜索尋找,這點體驗非常好。

10、不要頻繁讓用戶對你的APP進行評分

過快或過於頻繁地要求評分是很令人反感的,並且會讓最終收到的有用反饋的數量減少。

為了獲得一個更全面、客觀的用戶反饋,讓用戶有時間對APP有一個基本的瞭解之後再進行評分。一定要提供關閉評分提示的方法,永遠不要強迫用戶為你的APP評分。

11、不鼓勵重啟

重新啟動APP很耗費時間,而且會讓你的APP看起來不是那麼可靠而且很難用。如果APP是因為內存或其他問題難以運行,使得系統只能重啟,那你需要先去解決這些問題。

五、請求許可 (Requesting Permission)

APP必須得到用戶的授權才可以訪問其個人信息,包括:當前位置、日曆、聯繫人信息、提醒和照片等。雖然用戶可能會覺得APP直接獲取個新信息可能更方便,但他們也希望能夠控對自己的隱私數據進行自我管控。

例如:用戶喜歡系統自動獲取自己的實際位置去標記照片或尋找附近的朋友,但他們仍然希望可以選擇關閉這些功能。

設計原則:

1、在APP需要用到時才向用戶請求個人數據

用戶對個人信息的請求產生質疑是很正常的,尤其是他們發現當前的請求完全沒有必要時。確保只在用戶必須要用到個人數據時才會發出權限請求。

例如:APP可能只有在激活位置跟蹤功能時才會請求獲得用戶的當前位置。


iOS平臺設計規範(二)APP架構



2、解釋APP需要這些個人信息的原因

在系統的權限請求警示框中提供自定義文本(示例用途字符串)。使用簡短和具體、禮貌的文案,讓用戶感覺輕鬆,沒有壓力。文案中沒有必要包含APP的名稱 - 因為系統可以自動識別你的APP並帶入名稱。


iOS平臺設計規範(二)APP架構



3、只有關乎到APP的正常運行時,才會在啟動時出現請求權限

如果你的APP顯然只有獲得他們的個人信息才能正常運行,那麼用戶也不會對這個請求感到很反感。

4、沒有必要時不要請求位置信息

在獲得位置位置信息之前,檢查系統以查看是否已啟用位置服務。如果已經開啟, 你可以在用戶真的需要用到該功能時再進行警示框提醒,甚至可以直接省略掉警示框。

5、使用系統提供的警示框樣式

你可以在標準的權限警示框中自定義文本,但不要直接複製標準警示框行為的提示文本和外觀樣式。

六、設置(Setting)

一些APP可能一開始就需要用戶進行設置或配置選項,但大部分APP應該避免或者講設置操作延遲。

成功的APP可以一開始就讓大多數人覺得好用、易用,同時還提供了一些便捷的路徑來調整體驗。當你的APP可以滿足大部分用戶的需求時,你就可以弱化他們對設置的需要。

1、推測可以從系統中得到什麼

如果APP需要有關用戶、設備或環境的信息,請儘可能向系統請求,而不是直接詢問用戶。

例如:如果你想要知道用戶的郵政編碼來提供本地選項時,可以向用戶請求獲取他們的位置。如果用戶拒絕訪問其當前位置,則優雅地退回到手動輸入。

2、仔細考慮APP中配置選項的優先級

APP的的主頁是用來放置關鍵內容或者常用選項的。次級頁面更適合放置偶爾才會更改的選項。

3、不經常更改的配置選項放在系統“設置”中

系統的“設置”APP是更改系統配置的中心位置,但用戶必須離開你的APP才能到達“設置”APP。能在APP中直接調整設置會更方便。

4、在適當的時候提供去設置的快捷方式

如果APP包含引導用戶到“設置”的文本,例如:“轉到設置> MyApp>隱私>位置服務”,則會提供一個自動打開該位置的按鈕。


iOS平臺設計規範(二)APP架構


架構(APP Architecture)

一、加載(Loading)

當APP裡的內容正在加載時,一個空白或靜止的屏幕可能會讓APP看起來像是卡死了,從而讓用戶感到沮喪和不知所措,甚至可能導致用戶直接關掉APP放棄使用。


iOS平臺設計規範(二)APP架構



創建原則:

1、明確說明加載狀態

至少要有一個加載的圖標,可以表達正在發生的狀態。更好的方式是:使用類似進度條的形式,顯示明確的進度,讓用戶可以判斷自己大概需要等待多長時間。

2、儘快顯示內容

在用戶看到屏幕內容之前,不要讓用戶乾等著加載。你可以使用佔位符文本、圖形或動畫來告訴用戶,這個區域的內容還沒加載完成。在加載出內容後直接代替這些佔位符元素。後臺也要儘可能使用預加載,例如在播放動畫或用戶正在操作導航欄的選項卡時,後臺預先加載出來即將播放和顯示的內容。

3、自定義加載屏幕

雖然系統默認的進度指示器可以用,但有時會感覺它們脫離了主題,與APP的風格甚至顯得格格不入。設計師可以考慮用自定義動畫亦或是與APP風格相匹配的元素來設計,會使用戶有更沉浸式的體驗。


iOS平臺設計規範(二)APP架構



4、引導或娛樂用戶掩蓋加載時間

比如很多遊戲、視頻APP等,都可以放一段有趣的動畫或佔位圖作為加載提示,緩解用戶焦急的心情。(其實就是障眼法的意思)

缺點是:比較耗內存,一般遊戲APP裡用的比較多,普通的APP很少看到用動畫作為加載方式的,因為現在網絡越來越快,用戶只想儘快看到APP內的內容。


iOS平臺設計規範(二)APP架構



二、模態(Modality)

模態,是一種設計方式。一般作為臨時性的形式出現在頁面當中,需要顯示操作按鈕才可以退出。模態的意義在於:

  • 幫助用戶專注於一項與當前頁面密切相關的任務或選項
  • 確保用戶可以對重要操作採取行動


iOS平臺設計規範(二)APP架構

iOS提供您在應用中特定情況下使用的警報,活動視圖(或共享表)和操作表。在iOS13以下的版本,你需要自定義以下模態內容的演示樣式,而iOS 13及更高版本則默認以下演示樣式:

工作表

開卡片時被暫停的任務。用可以通過以下方式關閉卡片:

  • 從屏幕頂部向下滑動
  • 當卡片內容滾動到頂部時,從屏幕上的任何位置向下滑動
  • 點擊“關閉/取消”按鈕


注:工作表常用於無法啟用複雜任務的非模擬內容。

全屏

全屏模態視圖的演示樣式是涵蓋整個屏幕的,且完全覆蓋了之前的視圖,它最大限度地減輕了視覺上的干擾。用戶可以點擊按鈕來關閉全屏模態視圖。

對沉浸式內容(如視頻、照片或照相機視圖)使用全屏模態視圖,或者得益於全屏模態視圖的一些複雜任務(如標記文檔或編輯照片)。

注:如果使用當前上下文模式視圖樣式在拆分視圖窗格、彈出窗口或其他非全屏視圖中顯示模式內容,則在緊湊環境中顯示模式內容時應切換到使用工作表。

創建原則:

1、明確說明加載狀態

只有需要用戶集中注意力在做出選擇或執行與當前頁面不同的任務時,才能創建模態體驗。模態體驗使用戶脫離當前的頁面並需要用戶主動關閉,因此只有當創建模態體驗有明確的好處時才使用它。

2、在傳達重要信息或操作的情況下才使用警示框

通常情況下,彈出警示框意味著出現了問題。因為警示框會中斷體驗,需要點擊才能關閉。所以要讓用戶認為打斷是有必要的,這一點很重要。

3、確保模態上的任務簡單且集中

不要在你的APP中創建另一個APP。如果一個模態任務太複雜,那麼當用戶進入模態視圖時,他們可能會忽略他們之前被暫停的任務。

尤其謹慎創建太多層級結構的模態任務,因為用戶可能會在多個視圖中迷失不知道怎麼返回或忘記怎麼返回。如果模態任務必須包含子視圖,請提供清晰的返回路徑和完成路徑。

除非完成任務,否則不要使用“完成”按鈕。

4、始終要有取消/關閉模態視圖的按鈕

例如:你可以使用“完成”或“取消”。至少有一個按鈕以確保輔助技術訪問模態視圖,並代替手勢關閉模態視圖。

5、必要時,在關閉模態視圖之前進行確認,避免數據丟失

無論用戶使用手勢還是按鈕來關閉模態視圖,如果該操作可能導致用戶生成內容丟失,請提供解釋情況的操作表,併為用戶提供解決方法。


iOS平臺設計規範(二)APP架構

6、不要讓模態視圖出現在Popover(彈出式氣泡)上

除非是警示框,任何元素都不該出現在Popover上。在極少數情況下,當用戶在Popover中執行操作後需要用到模態視圖時,請在顯示模態視圖之前先關閉Popover。

7、通常,為模態任務設置一個標題

當用戶進入模態任務時,他們會離開之前的頁面,因此最好使前後操作清晰連貫。你也可以在視圖的其他部分中,提供更全面描述任務或指導的文本。

8、模態視圖外觀應與APP風格統一

例如,當模態視圖包含導航欄時,它應該採用與APP導航欄相同的外觀。

9、為模態視圖的展示提供一個合適的過渡方式

使用與APP風格統一的過渡樣式,增強用戶對內容轉變的認知。iOS默認的過渡方式是:模式視圖從屏幕底部向上滑入,被關閉時向下滑出。注意在整個APP中使用統一的模態轉換樣式。

三、導航(Navigation)

用戶往往會忽略APP的導航,除非當某些操作達不到他們的期望。我們的任務是在不會引起用戶過度注意的情況下,讓導航結構清晰、目的明確。導航在APP中應該顯得自然和熟悉,不應該主導界面或成為頁面內容中的焦點。

在iOS中,有三種主要的導航樣式:

(1) 層級導航

每一屏只能做一個選擇,直到到達你的目的地。如果要前往另一個目的地,您必須按原路一級級返回,並從最開始的位置做出的選擇。iOS的設置和郵件兩個APP就是使用這種導航樣式。

(2) 平級導航

在不同內容類別間進行切換,像音樂和App Store兩個APP就是用的這種導航樣式。(也是目前APP最常用的導航樣式)

(3) 內容驅動或體驗驅動導航

在APP的不同內容間切換,或者由內容本身定義導航。遊戲、書籍和其他沉浸式APP通常使用此導航樣式。

一些APP會結合多種導航樣式,例如:使用平級導航的應用可以在每個類別中使用分層導航。

設計原則:

1、始終提供清晰明確的路徑

用戶應該知道他們在APP中的位置以及如何到達下一個目的地。無論導航風格如何,操作路徑必須符合邏輯,可預知易於遵循。

一般情況下,一個頁面只給用戶提供一個入口。如果他們需要在多個場景下看到一個頁面內容,請考慮使用操作表、警示框、彈出式氣泡或模態視圖。

2、設計一種能快速、輕鬆地獲取內容的信息結構

為你的APP設計一個信息架構,在這個架構中,只需要最少的點擊、最少的滑動和最少的頁面數量便可以訪問相應內容。

3、使用手勢操作讓頁面切換更流暢

讓用戶以最小的阻力在頁面之間跳轉。例如,你可以讓人們從頁面側面滑動以返回上一個頁面。

4、使用標準導航組件

儘可能使用標準導航控件,例如頁面控件,標籤欄,分段控件,表視圖,集合視圖和拆分視圖。用戶已經很熟悉這些控件了,這樣能夠讓用戶更輕鬆地使用你的APP。

5、使用導航欄貫穿層級結構

導航欄的標題可以顯示層級結構中的當前位置,返回按鈕可以輕鬆返回到上一位置。

6、使用 Tab Bar(標籤欄)展示對應類別的內容或功能

使用標籤欄顯示對應類別的內容或功能。標籤欄可讓人們快速輕鬆地在不同類別之間切換。

7、同一類型頁面不同內容時可以使用頁面控件

頁面控件能清楚地傳達可用頁面總數和當前頁面位置。天氣APP就是使用頁面控件來展示不同地理位置的天氣情況。

四、新手引導(Onboarding)

APP啟動的這段時間是吸引新用戶和留住老用戶的一個機會。所以,請設計快速、有趣或者具有引導意義的啟動體驗。

設計原則:

1、提供啟動頁面

啟動頁面在APP被打開時出現,在加載初始內容的同時,有啟動頁給人的印象是APP響應很快。

啟動頁很快會被APP的首頁取代,所以它應該儘量與首屏相似,本地化的文本和交互元素除外(這一點在國內APP當中非常罕見)。

2、合適的方向啟動

如果你的APP同時支持縱屏和橫屏,則應該以設備的當前方向啟動。如果你的APP只在一個方向上運行,則應始終以該方向啟動,並在需要時允許用戶旋轉設備。

如果是APP是處於橫屏模式下,那麼不管用戶將設備是向左還是向右旋轉,APP都應該隨著旋轉正確地選擇顯示方向。(當然,有特殊原因除外)

3、快速進入

儘量避免顯示閃屏、菜單和說明,這些都會讓用戶花更長的時間來看到內容並開始使用你的APP。相反,讓人們直接潛進入最好。如果你的APP需要教學介紹或是引導,請務必提供一種跳過它們的方法,而且切忌向老用戶展示它們。

4、預想用戶可能會需要的幫助

主動尋找和思考用戶可能被卡住的地方。例如:遊戲中在暫停或角色沒有前進時顯示一些有用的提示。讓用戶可以重播教程,以防第一次進入APP的他們錯過任何內容。

5、只在教程中展示的重要信息

為新用戶提供引導是好的,但這並不意味著這樣做就能成為優秀的APP。更重要的是,你應該讓APP更直觀。如果你的APP需要過多的引導,那麼請重新審視/反思你的設計。

6、讓學習變得有趣和易於發現

邊做邊學比閱讀一長串說明更有趣和有效。在上下文環境中,使用動畫和可交互性循序漸進地引導用戶。要避免顯示看起來像可交互的屏幕截圖。

7、不要在一開始就詢問用戶設置信息

用戶希望一進入APP就能馬上操作。為大多數人設計你的APP,讓其他的少數想要不同配置的人自己調整APP內的參數來滿足他們的需求。儘可能從設備設置和默認值或通過同步服務(如iCloud)來獲取設置信息。

如果一定要詢問設置信息,請在用戶第一次使用APP就出現提示,並且應該允許用戶稍後在APP的設置中進行修改。

8、避免在APP內顯示許可協議和免責申明

在下載APP之前,直接在App Store展示許可協議和免責聲明。如果你一定要在APP中展示這些,請確保他們融入你的設計,並且不會破壞用戶體驗。

9、在重新啟動前恢復之前的狀態

不要讓用戶為了回到APP之前的位置而重複步驟。保留並恢復APP的狀態,以便他們可以從上次離開位置繼續運行。

像人人都是產品經理APP在這塊就做的很好,在退出APP後,不管你什麼時候再重新打開APP,都是退出之前在看的那篇文章。有時候因為某些原因退出了APP又忘記收藏文章,就不用再重新搜索尋找,這點體驗非常好。

10、不要頻繁讓用戶對你的APP進行評分

過快或過於頻繁地要求評分是很令人反感的,並且會讓最終收到的有用反饋的數量減少。

為了獲得一個更全面、客觀的用戶反饋,讓用戶有時間對APP有一個基本的瞭解之後再進行評分。一定要提供關閉評分提示的方法,永遠不要強迫用戶為你的APP評分。

11、不鼓勵重啟

重新啟動APP很耗費時間,而且會讓你的APP看起來不是那麼可靠而且很難用。如果APP是因為內存或其他問題難以運行,使得系統只能重啟,那你需要先去解決這些問題。

五、請求許可 (Requesting Permission)

APP必須得到用戶的授權才可以訪問其個人信息,包括:當前位置、日曆、聯繫人信息、提醒和照片等。雖然用戶可能會覺得APP直接獲取個新信息可能更方便,但他們也希望能夠控對自己的隱私數據進行自我管控。

例如:用戶喜歡系統自動獲取自己的實際位置去標記照片或尋找附近的朋友,但他們仍然希望可以選擇關閉這些功能。

設計原則:

1、在APP需要用到時才向用戶請求個人數據

用戶對個人信息的請求產生質疑是很正常的,尤其是他們發現當前的請求完全沒有必要時。確保只在用戶必須要用到個人數據時才會發出權限請求。

例如:APP可能只有在激活位置跟蹤功能時才會請求獲得用戶的當前位置。


iOS平臺設計規範(二)APP架構

2、解釋APP需要這些個人信息的原因

在系統的權限請求警示框中提供自定義文本(示例用途字符串)。使用簡短和具體、禮貌的文案,讓用戶感覺輕鬆,沒有壓力。文案中沒有必要包含APP的名稱 - 因為系統可以自動識別你的APP並帶入名稱。


iOS平臺設計規範(二)APP架構


3、只有關乎到APP的正常運行時,才會在啟動時出現請求權限

如果你的APP顯然只有獲得他們的個人信息才能正常運行,那麼用戶也不會對這個請求感到很反感。

4、沒有必要時不要請求位置信息

在獲得位置位置信息之前,檢查系統以查看是否已啟用位置服務。如果已經開啟, 你可以在用戶真的需要用到該功能時再進行警示框提醒,甚至可以直接省略掉警示框。

5、使用系統提供的警示框樣式

你可以在標準的權限警示框中自定義文本,但不要直接複製標準警示框行為的提示文本和外觀樣式。

六、設置(Setting)

一些APP可能一開始就需要用戶進行設置或配置選項,但大部分APP應該避免或者講設置操作延遲。

成功的APP可以一開始就讓大多數人覺得好用、易用,同時還提供了一些便捷的路徑來調整體驗。當你的APP可以滿足大部分用戶的需求時,你就可以弱化他們對設置的需要。

1、推測可以從系統中得到什麼

如果APP需要有關用戶、設備或環境的信息,請儘可能向系統請求,而不是直接詢問用戶。

例如:如果你想要知道用戶的郵政編碼來提供本地選項時,可以向用戶請求獲取他們的位置。如果用戶拒絕訪問其當前位置,則優雅地退回到手動輸入。

2、仔細考慮APP中配置選項的優先級

APP的的主頁是用來放置關鍵內容或者常用選項的。次級頁面更適合放置偶爾才會更改的選項。

3、不經常更改的配置選項放在系統“設置”中

系統的“設置”APP是更改系統配置的中心位置,但用戶必須離開你的APP才能到達“設置”APP。能在APP中直接調整設置會更方便。

4、在適當的時候提供去設置的快捷方式

如果APP包含引導用戶到“設置”的文本,例如:“轉到設置> MyApp>隱私>位置服務”,則會提供一個自動打開該位置的按鈕。


"


iOS平臺設計規範(二)APP架構

無論是UI、交互,還是產品經理,都應該熟讀iOS平臺設計規範。這對我們的產品設計,百利而無一弊。


iOS平臺設計規範(二)APP架構


無論是UI、交互,還是產品經理,都應該熟讀iOS平臺設計規範。這對我們的產品設計,百利而無一弊。


架構(APP Architecture)

一、加載(Loading)

當APP裡的內容正在加載時,一個空白或靜止的屏幕可能會讓APP看起來像是卡死了,從而讓用戶感到沮喪和不知所措,甚至可能導致用戶直接關掉APP放棄使用。


iOS平臺設計規範(二)APP架構



創建原則:

1、明確說明加載狀態

至少要有一個加載的圖標,可以表達正在發生的狀態。更好的方式是:使用類似進度條的形式,顯示明確的進度,讓用戶可以判斷自己大概需要等待多長時間。

2、儘快顯示內容

在用戶看到屏幕內容之前,不要讓用戶乾等著加載。你可以使用佔位符文本、圖形或動畫來告訴用戶,這個區域的內容還沒加載完成。在加載出內容後直接代替這些佔位符元素。後臺也要儘可能使用預加載,例如在播放動畫或用戶正在操作導航欄的選項卡時,後臺預先加載出來即將播放和顯示的內容。

3、自定義加載屏幕

雖然系統默認的進度指示器可以用,但有時會感覺它們脫離了主題,與APP的風格甚至顯得格格不入。設計師可以考慮用自定義動畫亦或是與APP風格相匹配的元素來設計,會使用戶有更沉浸式的體驗。


iOS平臺設計規範(二)APP架構



4、引導或娛樂用戶掩蓋加載時間

比如很多遊戲、視頻APP等,都可以放一段有趣的動畫或佔位圖作為加載提示,緩解用戶焦急的心情。(其實就是障眼法的意思)

缺點是:比較耗內存,一般遊戲APP裡用的比較多,普通的APP很少看到用動畫作為加載方式的,因為現在網絡越來越快,用戶只想儘快看到APP內的內容。


iOS平臺設計規範(二)APP架構



二、模態(Modality)

模態,是一種設計方式。一般作為臨時性的形式出現在頁面當中,需要顯示操作按鈕才可以退出。模態的意義在於:

  • 幫助用戶專注於一項與當前頁面密切相關的任務或選項
  • 確保用戶可以對重要操作採取行動


iOS平臺設計規範(二)APP架構



iOS提供您在應用中特定情況下使用的警報,活動視圖(或共享表)和操作表。在iOS13以下的版本,你需要自定義以下模態內容的演示樣式,而iOS 13及更高版本則默認以下演示樣式:

工作表

開卡片時被暫停的任務。用可以通過以下方式關閉卡片:

  • 從屏幕頂部向下滑動
  • 當卡片內容滾動到頂部時,從屏幕上的任何位置向下滑動
  • 點擊“關閉/取消”按鈕


注:工作表常用於無法啟用複雜任務的非模擬內容。

全屏

全屏模態視圖的演示樣式是涵蓋整個屏幕的,且完全覆蓋了之前的視圖,它最大限度地減輕了視覺上的干擾。用戶可以點擊按鈕來關閉全屏模態視圖。

對沉浸式內容(如視頻、照片或照相機視圖)使用全屏模態視圖,或者得益於全屏模態視圖的一些複雜任務(如標記文檔或編輯照片)。

注:如果使用當前上下文模式視圖樣式在拆分視圖窗格、彈出窗口或其他非全屏視圖中顯示模式內容,則在緊湊環境中顯示模式內容時應切換到使用工作表。

創建原則:

1、明確說明加載狀態

只有需要用戶集中注意力在做出選擇或執行與當前頁面不同的任務時,才能創建模態體驗。模態體驗使用戶脫離當前的頁面並需要用戶主動關閉,因此只有當創建模態體驗有明確的好處時才使用它。

2、在傳達重要信息或操作的情況下才使用警示框

通常情況下,彈出警示框意味著出現了問題。因為警示框會中斷體驗,需要點擊才能關閉。所以要讓用戶認為打斷是有必要的,這一點很重要。

3、確保模態上的任務簡單且集中

不要在你的APP中創建另一個APP。如果一個模態任務太複雜,那麼當用戶進入模態視圖時,他們可能會忽略他們之前被暫停的任務。

尤其謹慎創建太多層級結構的模態任務,因為用戶可能會在多個視圖中迷失不知道怎麼返回或忘記怎麼返回。如果模態任務必須包含子視圖,請提供清晰的返回路徑和完成路徑。

除非完成任務,否則不要使用“完成”按鈕。

4、始終要有取消/關閉模態視圖的按鈕

例如:你可以使用“完成”或“取消”。至少有一個按鈕以確保輔助技術訪問模態視圖,並代替手勢關閉模態視圖。

5、必要時,在關閉模態視圖之前進行確認,避免數據丟失

無論用戶使用手勢還是按鈕來關閉模態視圖,如果該操作可能導致用戶生成內容丟失,請提供解釋情況的操作表,併為用戶提供解決方法。


iOS平臺設計規範(二)APP架構



6、不要讓模態視圖出現在Popover(彈出式氣泡)上

除非是警示框,任何元素都不該出現在Popover上。在極少數情況下,當用戶在Popover中執行操作後需要用到模態視圖時,請在顯示模態視圖之前先關閉Popover。

7、通常,為模態任務設置一個標題

當用戶進入模態任務時,他們會離開之前的頁面,因此最好使前後操作清晰連貫。你也可以在視圖的其他部分中,提供更全面描述任務或指導的文本。

8、模態視圖外觀應與APP風格統一

例如,當模態視圖包含導航欄時,它應該採用與APP導航欄相同的外觀。

9、為模態視圖的展示提供一個合適的過渡方式

使用與APP風格統一的過渡樣式,增強用戶對內容轉變的認知。iOS默認的過渡方式是:模式視圖從屏幕底部向上滑入,被關閉時向下滑出。注意在整個APP中使用統一的模態轉換樣式。

三、導航(Navigation)

用戶往往會忽略APP的導航,除非當某些操作達不到他們的期望。我們的任務是在不會引起用戶過度注意的情況下,讓導航結構清晰、目的明確。導航在APP中應該顯得自然和熟悉,不應該主導界面或成為頁面內容中的焦點。

在iOS中,有三種主要的導航樣式:

(1) 層級導航

每一屏只能做一個選擇,直到到達你的目的地。如果要前往另一個目的地,您必須按原路一級級返回,並從最開始的位置做出的選擇。iOS的設置和郵件兩個APP就是使用這種導航樣式。

(2) 平級導航

在不同內容類別間進行切換,像音樂和App Store兩個APP就是用的這種導航樣式。(也是目前APP最常用的導航樣式)

(3) 內容驅動或體驗驅動導航

在APP的不同內容間切換,或者由內容本身定義導航。遊戲、書籍和其他沉浸式APP通常使用此導航樣式。

一些APP會結合多種導航樣式,例如:使用平級導航的應用可以在每個類別中使用分層導航。

設計原則:

1、始終提供清晰明確的路徑

用戶應該知道他們在APP中的位置以及如何到達下一個目的地。無論導航風格如何,操作路徑必須符合邏輯,可預知易於遵循。

一般情況下,一個頁面只給用戶提供一個入口。如果他們需要在多個場景下看到一個頁面內容,請考慮使用操作表、警示框、彈出式氣泡或模態視圖。

2、設計一種能快速、輕鬆地獲取內容的信息結構

為你的APP設計一個信息架構,在這個架構中,只需要最少的點擊、最少的滑動和最少的頁面數量便可以訪問相應內容。

3、使用手勢操作讓頁面切換更流暢

讓用戶以最小的阻力在頁面之間跳轉。例如,你可以讓人們從頁面側面滑動以返回上一個頁面。

4、使用標準導航組件

儘可能使用標準導航控件,例如頁面控件,標籤欄,分段控件,表視圖,集合視圖和拆分視圖。用戶已經很熟悉這些控件了,這樣能夠讓用戶更輕鬆地使用你的APP。

5、使用導航欄貫穿層級結構

導航欄的標題可以顯示層級結構中的當前位置,返回按鈕可以輕鬆返回到上一位置。

6、使用 Tab Bar(標籤欄)展示對應類別的內容或功能

使用標籤欄顯示對應類別的內容或功能。標籤欄可讓人們快速輕鬆地在不同類別之間切換。

7、同一類型頁面不同內容時可以使用頁面控件

頁面控件能清楚地傳達可用頁面總數和當前頁面位置。天氣APP就是使用頁面控件來展示不同地理位置的天氣情況。

四、新手引導(Onboarding)

APP啟動的這段時間是吸引新用戶和留住老用戶的一個機會。所以,請設計快速、有趣或者具有引導意義的啟動體驗。

設計原則:

1、提供啟動頁面

啟動頁面在APP被打開時出現,在加載初始內容的同時,有啟動頁給人的印象是APP響應很快。

啟動頁很快會被APP的首頁取代,所以它應該儘量與首屏相似,本地化的文本和交互元素除外(這一點在國內APP當中非常罕見)。

2、合適的方向啟動

如果你的APP同時支持縱屏和橫屏,則應該以設備的當前方向啟動。如果你的APP只在一個方向上運行,則應始終以該方向啟動,並在需要時允許用戶旋轉設備。

如果是APP是處於橫屏模式下,那麼不管用戶將設備是向左還是向右旋轉,APP都應該隨著旋轉正確地選擇顯示方向。(當然,有特殊原因除外)

3、快速進入

儘量避免顯示閃屏、菜單和說明,這些都會讓用戶花更長的時間來看到內容並開始使用你的APP。相反,讓人們直接潛進入最好。如果你的APP需要教學介紹或是引導,請務必提供一種跳過它們的方法,而且切忌向老用戶展示它們。

4、預想用戶可能會需要的幫助

主動尋找和思考用戶可能被卡住的地方。例如:遊戲中在暫停或角色沒有前進時顯示一些有用的提示。讓用戶可以重播教程,以防第一次進入APP的他們錯過任何內容。

5、只在教程中展示的重要信息

為新用戶提供引導是好的,但這並不意味著這樣做就能成為優秀的APP。更重要的是,你應該讓APP更直觀。如果你的APP需要過多的引導,那麼請重新審視/反思你的設計。

6、讓學習變得有趣和易於發現

邊做邊學比閱讀一長串說明更有趣和有效。在上下文環境中,使用動畫和可交互性循序漸進地引導用戶。要避免顯示看起來像可交互的屏幕截圖。

7、不要在一開始就詢問用戶設置信息

用戶希望一進入APP就能馬上操作。為大多數人設計你的APP,讓其他的少數想要不同配置的人自己調整APP內的參數來滿足他們的需求。儘可能從設備設置和默認值或通過同步服務(如iCloud)來獲取設置信息。

如果一定要詢問設置信息,請在用戶第一次使用APP就出現提示,並且應該允許用戶稍後在APP的設置中進行修改。

8、避免在APP內顯示許可協議和免責申明

在下載APP之前,直接在App Store展示許可協議和免責聲明。如果你一定要在APP中展示這些,請確保他們融入你的設計,並且不會破壞用戶體驗。

9、在重新啟動前恢復之前的狀態

不要讓用戶為了回到APP之前的位置而重複步驟。保留並恢復APP的狀態,以便他們可以從上次離開位置繼續運行。

像人人都是產品經理APP在這塊就做的很好,在退出APP後,不管你什麼時候再重新打開APP,都是退出之前在看的那篇文章。有時候因為某些原因退出了APP又忘記收藏文章,就不用再重新搜索尋找,這點體驗非常好。

10、不要頻繁讓用戶對你的APP進行評分

過快或過於頻繁地要求評分是很令人反感的,並且會讓最終收到的有用反饋的數量減少。

為了獲得一個更全面、客觀的用戶反饋,讓用戶有時間對APP有一個基本的瞭解之後再進行評分。一定要提供關閉評分提示的方法,永遠不要強迫用戶為你的APP評分。

11、不鼓勵重啟

重新啟動APP很耗費時間,而且會讓你的APP看起來不是那麼可靠而且很難用。如果APP是因為內存或其他問題難以運行,使得系統只能重啟,那你需要先去解決這些問題。

五、請求許可 (Requesting Permission)

APP必須得到用戶的授權才可以訪問其個人信息,包括:當前位置、日曆、聯繫人信息、提醒和照片等。雖然用戶可能會覺得APP直接獲取個新信息可能更方便,但他們也希望能夠控對自己的隱私數據進行自我管控。

例如:用戶喜歡系統自動獲取自己的實際位置去標記照片或尋找附近的朋友,但他們仍然希望可以選擇關閉這些功能。

設計原則:

1、在APP需要用到時才向用戶請求個人數據

用戶對個人信息的請求產生質疑是很正常的,尤其是他們發現當前的請求完全沒有必要時。確保只在用戶必須要用到個人數據時才會發出權限請求。

例如:APP可能只有在激活位置跟蹤功能時才會請求獲得用戶的當前位置。


iOS平臺設計規範(二)APP架構



2、解釋APP需要這些個人信息的原因

在系統的權限請求警示框中提供自定義文本(示例用途字符串)。使用簡短和具體、禮貌的文案,讓用戶感覺輕鬆,沒有壓力。文案中沒有必要包含APP的名稱 - 因為系統可以自動識別你的APP並帶入名稱。


iOS平臺設計規範(二)APP架構



3、只有關乎到APP的正常運行時,才會在啟動時出現請求權限

如果你的APP顯然只有獲得他們的個人信息才能正常運行,那麼用戶也不會對這個請求感到很反感。

4、沒有必要時不要請求位置信息

在獲得位置位置信息之前,檢查系統以查看是否已啟用位置服務。如果已經開啟, 你可以在用戶真的需要用到該功能時再進行警示框提醒,甚至可以直接省略掉警示框。

5、使用系統提供的警示框樣式

你可以在標準的權限警示框中自定義文本,但不要直接複製標準警示框行為的提示文本和外觀樣式。

六、設置(Setting)

一些APP可能一開始就需要用戶進行設置或配置選項,但大部分APP應該避免或者講設置操作延遲。

成功的APP可以一開始就讓大多數人覺得好用、易用,同時還提供了一些便捷的路徑來調整體驗。當你的APP可以滿足大部分用戶的需求時,你就可以弱化他們對設置的需要。

1、推測可以從系統中得到什麼

如果APP需要有關用戶、設備或環境的信息,請儘可能向系統請求,而不是直接詢問用戶。

例如:如果你想要知道用戶的郵政編碼來提供本地選項時,可以向用戶請求獲取他們的位置。如果用戶拒絕訪問其當前位置,則優雅地退回到手動輸入。

2、仔細考慮APP中配置選項的優先級

APP的的主頁是用來放置關鍵內容或者常用選項的。次級頁面更適合放置偶爾才會更改的選項。

3、不經常更改的配置選項放在系統“設置”中

系統的“設置”APP是更改系統配置的中心位置,但用戶必須離開你的APP才能到達“設置”APP。能在APP中直接調整設置會更方便。

4、在適當的時候提供去設置的快捷方式

如果APP包含引導用戶到“設置”的文本,例如:“轉到設置> MyApp>隱私>位置服務”,則會提供一個自動打開該位置的按鈕。


iOS平臺設計規範(二)APP架構


架構(APP Architecture)

一、加載(Loading)

當APP裡的內容正在加載時,一個空白或靜止的屏幕可能會讓APP看起來像是卡死了,從而讓用戶感到沮喪和不知所措,甚至可能導致用戶直接關掉APP放棄使用。


iOS平臺設計規範(二)APP架構



創建原則:

1、明確說明加載狀態

至少要有一個加載的圖標,可以表達正在發生的狀態。更好的方式是:使用類似進度條的形式,顯示明確的進度,讓用戶可以判斷自己大概需要等待多長時間。

2、儘快顯示內容

在用戶看到屏幕內容之前,不要讓用戶乾等著加載。你可以使用佔位符文本、圖形或動畫來告訴用戶,這個區域的內容還沒加載完成。在加載出內容後直接代替這些佔位符元素。後臺也要儘可能使用預加載,例如在播放動畫或用戶正在操作導航欄的選項卡時,後臺預先加載出來即將播放和顯示的內容。

3、自定義加載屏幕

雖然系統默認的進度指示器可以用,但有時會感覺它們脫離了主題,與APP的風格甚至顯得格格不入。設計師可以考慮用自定義動畫亦或是與APP風格相匹配的元素來設計,會使用戶有更沉浸式的體驗。


iOS平臺設計規範(二)APP架構



4、引導或娛樂用戶掩蓋加載時間

比如很多遊戲、視頻APP等,都可以放一段有趣的動畫或佔位圖作為加載提示,緩解用戶焦急的心情。(其實就是障眼法的意思)

缺點是:比較耗內存,一般遊戲APP裡用的比較多,普通的APP很少看到用動畫作為加載方式的,因為現在網絡越來越快,用戶只想儘快看到APP內的內容。


iOS平臺設計規範(二)APP架構



二、模態(Modality)

模態,是一種設計方式。一般作為臨時性的形式出現在頁面當中,需要顯示操作按鈕才可以退出。模態的意義在於:

  • 幫助用戶專注於一項與當前頁面密切相關的任務或選項
  • 確保用戶可以對重要操作採取行動


iOS平臺設計規範(二)APP架構

iOS提供您在應用中特定情況下使用的警報,活動視圖(或共享表)和操作表。在iOS13以下的版本,你需要自定義以下模態內容的演示樣式,而iOS 13及更高版本則默認以下演示樣式:

工作表

開卡片時被暫停的任務。用可以通過以下方式關閉卡片:

  • 從屏幕頂部向下滑動
  • 當卡片內容滾動到頂部時,從屏幕上的任何位置向下滑動
  • 點擊“關閉/取消”按鈕


注:工作表常用於無法啟用複雜任務的非模擬內容。

全屏

全屏模態視圖的演示樣式是涵蓋整個屏幕的,且完全覆蓋了之前的視圖,它最大限度地減輕了視覺上的干擾。用戶可以點擊按鈕來關閉全屏模態視圖。

對沉浸式內容(如視頻、照片或照相機視圖)使用全屏模態視圖,或者得益於全屏模態視圖的一些複雜任務(如標記文檔或編輯照片)。

注:如果使用當前上下文模式視圖樣式在拆分視圖窗格、彈出窗口或其他非全屏視圖中顯示模式內容,則在緊湊環境中顯示模式內容時應切換到使用工作表。

創建原則:

1、明確說明加載狀態

只有需要用戶集中注意力在做出選擇或執行與當前頁面不同的任務時,才能創建模態體驗。模態體驗使用戶脫離當前的頁面並需要用戶主動關閉,因此只有當創建模態體驗有明確的好處時才使用它。

2、在傳達重要信息或操作的情況下才使用警示框

通常情況下,彈出警示框意味著出現了問題。因為警示框會中斷體驗,需要點擊才能關閉。所以要讓用戶認為打斷是有必要的,這一點很重要。

3、確保模態上的任務簡單且集中

不要在你的APP中創建另一個APP。如果一個模態任務太複雜,那麼當用戶進入模態視圖時,他們可能會忽略他們之前被暫停的任務。

尤其謹慎創建太多層級結構的模態任務,因為用戶可能會在多個視圖中迷失不知道怎麼返回或忘記怎麼返回。如果模態任務必須包含子視圖,請提供清晰的返回路徑和完成路徑。

除非完成任務,否則不要使用“完成”按鈕。

4、始終要有取消/關閉模態視圖的按鈕

例如:你可以使用“完成”或“取消”。至少有一個按鈕以確保輔助技術訪問模態視圖,並代替手勢關閉模態視圖。

5、必要時,在關閉模態視圖之前進行確認,避免數據丟失

無論用戶使用手勢還是按鈕來關閉模態視圖,如果該操作可能導致用戶生成內容丟失,請提供解釋情況的操作表,併為用戶提供解決方法。


iOS平臺設計規範(二)APP架構

6、不要讓模態視圖出現在Popover(彈出式氣泡)上

除非是警示框,任何元素都不該出現在Popover上。在極少數情況下,當用戶在Popover中執行操作後需要用到模態視圖時,請在顯示模態視圖之前先關閉Popover。

7、通常,為模態任務設置一個標題

當用戶進入模態任務時,他們會離開之前的頁面,因此最好使前後操作清晰連貫。你也可以在視圖的其他部分中,提供更全面描述任務或指導的文本。

8、模態視圖外觀應與APP風格統一

例如,當模態視圖包含導航欄時,它應該採用與APP導航欄相同的外觀。

9、為模態視圖的展示提供一個合適的過渡方式

使用與APP風格統一的過渡樣式,增強用戶對內容轉變的認知。iOS默認的過渡方式是:模式視圖從屏幕底部向上滑入,被關閉時向下滑出。注意在整個APP中使用統一的模態轉換樣式。

三、導航(Navigation)

用戶往往會忽略APP的導航,除非當某些操作達不到他們的期望。我們的任務是在不會引起用戶過度注意的情況下,讓導航結構清晰、目的明確。導航在APP中應該顯得自然和熟悉,不應該主導界面或成為頁面內容中的焦點。

在iOS中,有三種主要的導航樣式:

(1) 層級導航

每一屏只能做一個選擇,直到到達你的目的地。如果要前往另一個目的地,您必須按原路一級級返回,並從最開始的位置做出的選擇。iOS的設置和郵件兩個APP就是使用這種導航樣式。

(2) 平級導航

在不同內容類別間進行切換,像音樂和App Store兩個APP就是用的這種導航樣式。(也是目前APP最常用的導航樣式)

(3) 內容驅動或體驗驅動導航

在APP的不同內容間切換,或者由內容本身定義導航。遊戲、書籍和其他沉浸式APP通常使用此導航樣式。

一些APP會結合多種導航樣式,例如:使用平級導航的應用可以在每個類別中使用分層導航。

設計原則:

1、始終提供清晰明確的路徑

用戶應該知道他們在APP中的位置以及如何到達下一個目的地。無論導航風格如何,操作路徑必須符合邏輯,可預知易於遵循。

一般情況下,一個頁面只給用戶提供一個入口。如果他們需要在多個場景下看到一個頁面內容,請考慮使用操作表、警示框、彈出式氣泡或模態視圖。

2、設計一種能快速、輕鬆地獲取內容的信息結構

為你的APP設計一個信息架構,在這個架構中,只需要最少的點擊、最少的滑動和最少的頁面數量便可以訪問相應內容。

3、使用手勢操作讓頁面切換更流暢

讓用戶以最小的阻力在頁面之間跳轉。例如,你可以讓人們從頁面側面滑動以返回上一個頁面。

4、使用標準導航組件

儘可能使用標準導航控件,例如頁面控件,標籤欄,分段控件,表視圖,集合視圖和拆分視圖。用戶已經很熟悉這些控件了,這樣能夠讓用戶更輕鬆地使用你的APP。

5、使用導航欄貫穿層級結構

導航欄的標題可以顯示層級結構中的當前位置,返回按鈕可以輕鬆返回到上一位置。

6、使用 Tab Bar(標籤欄)展示對應類別的內容或功能

使用標籤欄顯示對應類別的內容或功能。標籤欄可讓人們快速輕鬆地在不同類別之間切換。

7、同一類型頁面不同內容時可以使用頁面控件

頁面控件能清楚地傳達可用頁面總數和當前頁面位置。天氣APP就是使用頁面控件來展示不同地理位置的天氣情況。

四、新手引導(Onboarding)

APP啟動的這段時間是吸引新用戶和留住老用戶的一個機會。所以,請設計快速、有趣或者具有引導意義的啟動體驗。

設計原則:

1、提供啟動頁面

啟動頁面在APP被打開時出現,在加載初始內容的同時,有啟動頁給人的印象是APP響應很快。

啟動頁很快會被APP的首頁取代,所以它應該儘量與首屏相似,本地化的文本和交互元素除外(這一點在國內APP當中非常罕見)。

2、合適的方向啟動

如果你的APP同時支持縱屏和橫屏,則應該以設備的當前方向啟動。如果你的APP只在一個方向上運行,則應始終以該方向啟動,並在需要時允許用戶旋轉設備。

如果是APP是處於橫屏模式下,那麼不管用戶將設備是向左還是向右旋轉,APP都應該隨著旋轉正確地選擇顯示方向。(當然,有特殊原因除外)

3、快速進入

儘量避免顯示閃屏、菜單和說明,這些都會讓用戶花更長的時間來看到內容並開始使用你的APP。相反,讓人們直接潛進入最好。如果你的APP需要教學介紹或是引導,請務必提供一種跳過它們的方法,而且切忌向老用戶展示它們。

4、預想用戶可能會需要的幫助

主動尋找和思考用戶可能被卡住的地方。例如:遊戲中在暫停或角色沒有前進時顯示一些有用的提示。讓用戶可以重播教程,以防第一次進入APP的他們錯過任何內容。

5、只在教程中展示的重要信息

為新用戶提供引導是好的,但這並不意味著這樣做就能成為優秀的APP。更重要的是,你應該讓APP更直觀。如果你的APP需要過多的引導,那麼請重新審視/反思你的設計。

6、讓學習變得有趣和易於發現

邊做邊學比閱讀一長串說明更有趣和有效。在上下文環境中,使用動畫和可交互性循序漸進地引導用戶。要避免顯示看起來像可交互的屏幕截圖。

7、不要在一開始就詢問用戶設置信息

用戶希望一進入APP就能馬上操作。為大多數人設計你的APP,讓其他的少數想要不同配置的人自己調整APP內的參數來滿足他們的需求。儘可能從設備設置和默認值或通過同步服務(如iCloud)來獲取設置信息。

如果一定要詢問設置信息,請在用戶第一次使用APP就出現提示,並且應該允許用戶稍後在APP的設置中進行修改。

8、避免在APP內顯示許可協議和免責申明

在下載APP之前,直接在App Store展示許可協議和免責聲明。如果你一定要在APP中展示這些,請確保他們融入你的設計,並且不會破壞用戶體驗。

9、在重新啟動前恢復之前的狀態

不要讓用戶為了回到APP之前的位置而重複步驟。保留並恢復APP的狀態,以便他們可以從上次離開位置繼續運行。

像人人都是產品經理APP在這塊就做的很好,在退出APP後,不管你什麼時候再重新打開APP,都是退出之前在看的那篇文章。有時候因為某些原因退出了APP又忘記收藏文章,就不用再重新搜索尋找,這點體驗非常好。

10、不要頻繁讓用戶對你的APP進行評分

過快或過於頻繁地要求評分是很令人反感的,並且會讓最終收到的有用反饋的數量減少。

為了獲得一個更全面、客觀的用戶反饋,讓用戶有時間對APP有一個基本的瞭解之後再進行評分。一定要提供關閉評分提示的方法,永遠不要強迫用戶為你的APP評分。

11、不鼓勵重啟

重新啟動APP很耗費時間,而且會讓你的APP看起來不是那麼可靠而且很難用。如果APP是因為內存或其他問題難以運行,使得系統只能重啟,那你需要先去解決這些問題。

五、請求許可 (Requesting Permission)

APP必須得到用戶的授權才可以訪問其個人信息,包括:當前位置、日曆、聯繫人信息、提醒和照片等。雖然用戶可能會覺得APP直接獲取個新信息可能更方便,但他們也希望能夠控對自己的隱私數據進行自我管控。

例如:用戶喜歡系統自動獲取自己的實際位置去標記照片或尋找附近的朋友,但他們仍然希望可以選擇關閉這些功能。

設計原則:

1、在APP需要用到時才向用戶請求個人數據

用戶對個人信息的請求產生質疑是很正常的,尤其是他們發現當前的請求完全沒有必要時。確保只在用戶必須要用到個人數據時才會發出權限請求。

例如:APP可能只有在激活位置跟蹤功能時才會請求獲得用戶的當前位置。


iOS平臺設計規範(二)APP架構

2、解釋APP需要這些個人信息的原因

在系統的權限請求警示框中提供自定義文本(示例用途字符串)。使用簡短和具體、禮貌的文案,讓用戶感覺輕鬆,沒有壓力。文案中沒有必要包含APP的名稱 - 因為系統可以自動識別你的APP並帶入名稱。


iOS平臺設計規範(二)APP架構


3、只有關乎到APP的正常運行時,才會在啟動時出現請求權限

如果你的APP顯然只有獲得他們的個人信息才能正常運行,那麼用戶也不會對這個請求感到很反感。

4、沒有必要時不要請求位置信息

在獲得位置位置信息之前,檢查系統以查看是否已啟用位置服務。如果已經開啟, 你可以在用戶真的需要用到該功能時再進行警示框提醒,甚至可以直接省略掉警示框。

5、使用系統提供的警示框樣式

你可以在標準的權限警示框中自定義文本,但不要直接複製標準警示框行為的提示文本和外觀樣式。

六、設置(Setting)

一些APP可能一開始就需要用戶進行設置或配置選項,但大部分APP應該避免或者講設置操作延遲。

成功的APP可以一開始就讓大多數人覺得好用、易用,同時還提供了一些便捷的路徑來調整體驗。當你的APP可以滿足大部分用戶的需求時,你就可以弱化他們對設置的需要。

1、推測可以從系統中得到什麼

如果APP需要有關用戶、設備或環境的信息,請儘可能向系統請求,而不是直接詢問用戶。

例如:如果你想要知道用戶的郵政編碼來提供本地選項時,可以向用戶請求獲取他們的位置。如果用戶拒絕訪問其當前位置,則優雅地退回到手動輸入。

2、仔細考慮APP中配置選項的優先級

APP的的主頁是用來放置關鍵內容或者常用選項的。次級頁面更適合放置偶爾才會更改的選項。

3、不經常更改的配置選項放在系統“設置”中

系統的“設置”APP是更改系統配置的中心位置,但用戶必須離開你的APP才能到達“設置”APP。能在APP中直接調整設置會更方便。

4、在適當的時候提供去設置的快捷方式

如果APP包含引導用戶到“設置”的文本,例如:“轉到設置> MyApp>隱私>位置服務”,則會提供一個自動打開該位置的按鈕。


iOS平臺設計規範(二)APP架構


"

相關推薦

推薦中...