警告框用于告知用戶一些會(huì)影響到他們使用 app 或設(shè)備的重要信息。
API 提示:
如需在代碼中使用警告框,你可以創(chuàng)建 UIAlertController 并且指定 UIAlertControllerStyleAlert.
警告框:
避免出現(xiàn)不必要的警告框。一般來說,在以下情景中,是不需要用到警告框的:
當(dāng)你在設(shè)計(jì)警告文案的時(shí)候,了解以下這些定義非常有用:
保證標(biāo)題足夠簡短,最好在一行之內(nèi)。過長的標(biāo)題讓用戶很難快速理解它的意思,還可能會(huì)被截?cái)唷?/p>
避免單個(gè)字的標(biāo)題。單字標(biāo)題,例如:錯(cuò)誤,或警告,幾乎不能提供任何有用信息。
如果可以的話,使用句子片段而非完整的句子。一個(gè)簡潔清晰的狀態(tài)描述往往比一個(gè)完整的句子更容易理解。
盡可能的精煉你的標(biāo)題文字,讓警告框即使沒有下面的正文信息也能完全讓用戶理解。舉個(gè)例子,當(dāng)你使用一個(gè)問題,或者兩個(gè)短句來作為警告框標(biāo)題的話,很可能你并不需要添加文本信息。
不用刻意避免在警告框中使用消極負(fù)面的文案。用戶們理解大多數(shù)警告框是為了告訴他們發(fā)生的問題,或者對(duì)他們目前的狀態(tài)作出警告。因此消極但清晰直接的文案優(yōu)于積極但晦澀間接的文案。
盡可能地避免使用“你”,“你的”,“我”,“我的”這類字眼。有時(shí)候,這些直接指向的字眼容易引起歧義,有時(shí)候甚至?xí)徽`認(rèn)為是一種冒犯。 適當(dāng)?shù)厥褂么髮懞蜆?biāo)點(diǎn)符號(hào),尤其是在以下這些場景中:
如果你必須為警告框添加正文文本,請使用一個(gè)完整的短句。可能的話,盡量保證句子在1到2行之間。如果句子太長,用戶會(huì)需要滾動(dòng)才能看完,這樣的體驗(yàn)很糟。使用句子式大寫,并在句末加上適當(dāng)?shù)臉?biāo)點(diǎn)符號(hào)。
避免在文本中詳細(xì)描述“該按哪個(gè)按鈕”而導(dǎo)致文本過長。理想情況下,表意明確的警告文案和邏輯清晰的按鈕文案已經(jīng)足以讓用戶正確判斷自己該按哪個(gè)按鈕了。但如果你一定要在文案中描述這些內(nèi)容,請遵循以下原則:
一般情況下,使用兩個(gè)按鈕的警告框。兩個(gè)按鈕的警告框是最為常見和有用的,因?yàn)樗畋阌谟脩粼趦蓚€(gè)按鈕中做選擇。單按鈕警告框不那么有用,因?yàn)樗ǔV皇瞧鸬礁嬷淖饔?,并未給予用戶控制當(dāng)前狀態(tài)的能力。多于兩個(gè)按鈕的警告框太過復(fù)雜,應(yīng)該盡可能地避免使用。如果你在警告框中設(shè)計(jì)了太多按鈕,它也許會(huì)導(dǎo)致警告框被強(qiáng)制滾動(dòng),這也是一個(gè)非常糟糕的體驗(yàn)。
提示
如果你需要在警告框中給與用戶超過2個(gè)選項(xiàng),可以考慮使用操作列表來代替警告框。
正確地放置按鈕。理想情況下,最容易點(diǎn)擊也最不容易點(diǎn)錯(cuò)的按鈕符合兩個(gè)條件:它代表了用戶最可能會(huì)選擇的操作,即使用戶一時(shí)不注意誤點(diǎn)了它,也不會(huì)造成嚴(yán)重問題。尤其是:
一般來說,當(dāng)警告框出現(xiàn)的時(shí)候,按 Home 鍵將會(huì)從該 app 里切回主屏幕,此時(shí) Home 鍵的效果類似于取消按鈕——當(dāng)用戶回到 app 中的時(shí)候,警告框?qū)⑾В僮饕膊粫?huì)被執(zhí)行。
為按鈕設(shè)計(jì)簡短而邏輯清晰的文案。好的按鈕文案一般只有1到2個(gè)單詞,描述用戶點(diǎn)擊按鈕后的結(jié)果。設(shè)計(jì)文案時(shí)可以遵循以下指南:
操作列表展示了與用戶觸發(fā)的操作直接相關(guān)的一系列選項(xiàng)。
API 提示:
如需在代碼中使用操作列表,你可以創(chuàng)建一個(gè) UIAlertController.并指定 UIAlertControllerStyleActionSheet
操作列表:
提供完成一項(xiàng)任務(wù)的不同方法。操作列表提供一系列在當(dāng)前情景下可以完成當(dāng)前任務(wù)的操作,而這樣的形式不會(huì)永久占用頁面 UI 的空間。
在用戶完成一項(xiàng)可能有風(fēng)險(xiǎn)的操作前獲得用戶的確認(rèn)。操作列表讓用戶有機(jī)會(huì)停下來充分考慮當(dāng)前操作可能導(dǎo)致的危險(xiǎn)結(jié)果,并為他們提供了一些其它的選項(xiàng),尤其是在以下這些情景下:
使用紅色文字來表示可能存在破壞性的操作。在操作列表的頂部使用文字顏色為紅色的按鈕,因?yàn)樵娇拷斜眄敳康牟僮髟饺菀滓鹩脩糇⒁?。?iPhone 里,潛在風(fēng)險(xiǎn)的操作離列表底部越遠(yuǎn),用戶在關(guān)注 Home 鍵的時(shí)候就越不容易誤點(diǎn)它。
避免讓用戶滾動(dòng)操作列表。如果你的操作列表中存在過多按鈕,用戶必須要滾動(dòng)才能看完所有操作。這樣的體驗(yàn)是可能讓用戶不安,因?yàn)樗麄円ǜ嗟臅r(shí)間來充分理解每個(gè)選項(xiàng)的區(qū)別。此外,用戶在滾動(dòng)的過程中將很有可能誤點(diǎn)其它按鈕。
模態(tài)視圖是一個(gè)以模態(tài)形式展現(xiàn)的視圖,它為當(dāng)前任務(wù)或當(dāng)前工作流程提供獨(dú)立的、自包含的(self-contained)功能。
API 提示:
如需在代碼中使用模態(tài)視圖,你可以創(chuàng)建一個(gè) UIPresentationController. 并指定適當(dāng)?shù)臉邮?完整的樣式列表,請參考 Modal Presentation Styles)
模態(tài)視圖:
根據(jù)當(dāng)前任務(wù)的種類和你的 app 的整體視覺風(fēng)格來選擇適當(dāng)?shù)哪B(tài)視圖。你可以使用以下定義的任何一種模態(tài)視圖樣式:
不要讓模態(tài)視圖覆蓋在浮出層之上。除了警告框外,沒有任何元素應(yīng)該覆蓋在彈出層上面。除非極其少有的情況下,用戶在彈出層內(nèi)進(jìn)行的操作結(jié)果必須要以模態(tài)視圖的形式展現(xiàn),即便是這個(gè)時(shí)候,也請先將彈出層關(guān)閉,再出現(xiàn)模態(tài)視圖。
確保你的模態(tài)視圖看起來與你的app的整體視覺風(fēng)格相協(xié)調(diào)。舉個(gè)例子,如果一個(gè)模態(tài)視圖中含有導(dǎo)航條和取消或完成任務(wù)的按鈕,這里的導(dǎo)航條樣式應(yīng)該與你的 app 中導(dǎo)航條一樣。
合適的話,在模態(tài)視圖里加入可以說明任務(wù)內(nèi)容的標(biāo)題。你可能還需要在模態(tài)視圖里加入一些補(bǔ)充文字,來清楚地闡明任務(wù)內(nèi)容,并提供一些任務(wù)指南。
選擇一個(gè)適當(dāng)?shù)倪^渡動(dòng)畫來展示模態(tài)視圖。使用與你的 app 一致的過渡動(dòng)畫,讓用戶可以準(zhǔn)確地理解當(dāng)前頁面內(nèi)容的轉(zhuǎn)變與模態(tài)視圖的出現(xiàn)。關(guān)于這一點(diǎn),你可以指定以下任意一種過渡動(dòng)畫:
更多建議: