iOS11人機(jī)交互指南(七)- 欄(Bars)

一、導(dǎo)航欄(Navigation Bars

導(dǎo)航欄出現(xiàn)在app屏幕的頂部,狀態(tài)欄之下,它能實(shí)現(xiàn)在一系列有層級(jí)的app頁(yè)面間的導(dǎo)航。當(dāng)進(jìn)入一個(gè)新頁(yè)面時(shí),導(dǎo)航欄的左側(cè)會(huì)出現(xiàn)一個(gè)返回按鈕,并且一般會(huì)標(biāo)有上一個(gè)頁(yè)面的標(biāo)題。有時(shí),導(dǎo)航欄右側(cè)還有含有類(lèi)似編輯或完成按鈕的控件,用來(lái)管理當(dāng)前視圖的內(nèi)容。在分屏視圖內(nèi),導(dǎo)航欄可能只會(huì)出現(xiàn)在分屏視圖的一個(gè)單獨(dú)窗格。導(dǎo)航欄是半透明的,也可能會(huì)有一個(gè)背景顏色,并且在適當(dāng)時(shí)可以被隱藏,比如當(dāng)前屏幕有鍵盤(pán)時(shí)、施加了某手勢(shì)時(shí)或是某個(gè)視圖在調(diào)整大小時(shí)。

考慮在顯示全屏內(nèi)容時(shí)暫時(shí)隱藏導(dǎo)航欄。當(dāng)你想要關(guān)注內(nèi)容時(shí),導(dǎo)航欄會(huì)令人分心。暫時(shí)隱藏該欄以提供一個(gè)更加沉浸式的體驗(yàn)。全屏瀏覽圖像時(shí)會(huì)隱藏導(dǎo)航欄和其它界面元素。如果你要隱藏導(dǎo)航欄,允許用戶(hù)通過(guò)簡(jiǎn)單的手勢(shì)復(fù)原導(dǎo)航欄,比如點(diǎn)擊。

開(kāi)發(fā)指導(dǎo)請(qǐng)參閱?UINavigationBar。

提示:

當(dāng)不需要導(dǎo)航或是你需要多個(gè)控件來(lái)管理當(dāng)前內(nèi)容時(shí),請(qǐng)使用工具欄。請(qǐng)參閱?Toolbars。

導(dǎo)航欄標(biāo)題

考慮在導(dǎo)航欄顯示當(dāng)前視圖的名稱(chēng)。在大多數(shù)情況下,名稱(chēng)幫助用戶(hù)了解他們?cè)诳词裁?。然而,如果給導(dǎo)航欄命名看起來(lái)是多余的,你可以讓標(biāo)題空著。比如,備忘錄(Notes)不會(huì)在當(dāng)前筆記的導(dǎo)航欄上放名稱(chēng),因?yàn)閮?nèi)容的第一行已經(jīng)提供了所需的環(huán)境線索。

左: 標(biāo)準(zhǔn)標(biāo)題;右:大標(biāo)題

如果您需要額外強(qiáng)調(diào)內(nèi)容,請(qǐng)使用大標(biāo)題。 在某些應(yīng)用中,大標(biāo)題的大號(hào)粗體文本可以幫助用戶(hù)瀏覽和搜索。 例如,在標(biāo)簽式布局中,大標(biāo)題可以幫助闡明活動(dòng)標(biāo)簽,并在用戶(hù)滾動(dòng)到頂部時(shí)通知用戶(hù)。 手機(jī)使用這種方法,而音樂(lè)使用大標(biāo)題來(lái)區(qū)分內(nèi)容區(qū)域,如專(zhuān)輯、藝人、播放列表和廣播。 當(dāng)用戶(hù)開(kāi)始滾動(dòng)內(nèi)容時(shí),大標(biāo)題轉(zhuǎn)換為標(biāo)準(zhǔn)標(biāo)題。 大標(biāo)題不是在所有應(yīng)用程序中都有意義,它不應(yīng)該與內(nèi)容形成競(jìng)爭(zhēng)。 盡管時(shí)鐘app具有選項(xiàng)卡式布局,但大型標(biāo)題是不必要的,因?yàn)槊總€(gè)選項(xiàng)卡都具有明顯的可識(shí)別布局。 開(kāi)發(fā)指導(dǎo)請(qǐng)參閱?prefersLargeTitles。

導(dǎo)航欄控件

避免用過(guò)多控件填充導(dǎo)航欄。一般來(lái)說(shuō),導(dǎo)航欄最多只能包含當(dāng)前視圖的標(biāo)題、返回按鈕以及一個(gè)管理當(dāng)前視圖內(nèi)容的控件。如果你在導(dǎo)航欄使用了分段控件,那除此之外,該欄就不應(yīng)再包含標(biāo)題或其它控件。

使用標(biāo)準(zhǔn)的返回按鈕。用戶(hù)已經(jīng)知道,標(biāo)準(zhǔn)的返回按鈕會(huì)讓他們?cè)谛畔蛹?jí)中按原路徑返回。然而,如果你使用了自定義的返回按鈕,請(qǐng)確保它們看起來(lái)像是返回按鈕,有直觀的表現(xiàn),和界面的其它部分保持一致,并且在app內(nèi)統(tǒng)一使用該自定義按鈕。如果你用自定義圖片替換了系統(tǒng)提供的返回按鈕,請(qǐng)同時(shí)提供一個(gè)自定義遮罩圖片(custom mask image)。iOS使用這個(gè)遮罩來(lái)實(shí)現(xiàn)按鈕標(biāo)題在轉(zhuǎn)場(chǎng)時(shí)的過(guò)渡動(dòng)畫(huà)。

不要包含多段的面包屑路徑。返回按鈕只能執(zhí)行一個(gè)單獨(dú)的操作,即返回到上一屏。如果你認(rèn)為用戶(hù)可能會(huì)因?yàn)橥浀竭_(dá)當(dāng)前屏的完整路徑而迷路,請(qǐng)考慮扁平你的app層級(jí)。

給文本標(biāo)題按鈕留出足夠的空間。如果你的導(dǎo)航欄含有多個(gè)文本按鈕,文本可能會(huì)讓多個(gè)按鈕看起來(lái)像是同時(shí)運(yùn)行的,導(dǎo)致按鈕間難以區(qū)分。在按鈕之間插入固定空間項(xiàng)使它們隔開(kāi)。開(kāi)發(fā)指導(dǎo)請(qǐng)參閱?UIBarButtonItem中的?UIBarButtonSystemItemFixedSpace

為了扁平您的app信息層次結(jié)構(gòu),考慮在導(dǎo)航欄使用一個(gè)分段控件。如果您在導(dǎo)航欄中使用分段控件,請(qǐng)僅在層次結(jié)構(gòu)的頂層執(zhí)行此操作,并確保在較低層級(jí)為返回按鈕選擇了正確的標(biāo)題。更多指導(dǎo)請(qǐng)參閱?Segmented Controls。

二、搜索欄(Search Bars

搜索欄允許用戶(hù)通過(guò)在字段中輸入文本來(lái)搜索大量值。 搜索欄可以單獨(dú)顯示,也可以在導(dǎo)航欄或內(nèi)容視圖中顯示。 當(dāng)顯示在導(dǎo)航欄中時(shí),搜索欄可以固定到導(dǎo)航欄,以便始終易于訪問(wèn),或者可以折疊搜索欄,直到用戶(hù)向下滑動(dòng)以顯示它。

讓用戶(hù)通過(guò)搜索欄而不是文本框去搜索。文本框不具備用戶(hù)期待的標(biāo)準(zhǔn)搜索欄所擁有的外觀特征。

啟用清除按鈕。 大多數(shù)搜索欄都包含一個(gè)清除按鈕,用于刪除該字段的內(nèi)容。

合適時(shí)啟用取消按鈕。大多數(shù)專(zhuān)用搜索欄包含一個(gè)立即終止搜索的“取消”按鈕。

左:清除按鈕;右:取消按鈕

必要時(shí),在搜索欄提供線索和背景。搜索框可以包含占位文本來(lái)提示可搜索的類(lèi)型,比如“搜索服裝、鞋子和飾品”或只是簡(jiǎn)單的“搜索”二字。也可以在搜索欄正上方展示一行簡(jiǎn)明扼要的帶有適當(dāng)標(biāo)點(diǎn)的文字,用來(lái)引導(dǎo)用戶(hù)。比如股票(Stocks),就在搜索框上方展示了一行文本告知用戶(hù)他們可以輸入公司名稱(chēng)或股票代碼。

左:占位性文本;右:介紹性文本

考慮在搜索欄下方提供有用的快捷鍵和其它內(nèi)容。利用搜索欄下方的區(qū)域幫助用戶(hù)更快地獲取內(nèi)容。比如瀏覽器(Safari),在你點(diǎn)擊搜索框的時(shí)候會(huì)立即顯示你的書(shū)簽,無(wú)需輸入任何關(guān)鍵詞的情況下即可進(jìn)入選擇的對(duì)象。股票app在你對(duì)搜索欄輸入的時(shí)候,會(huì)一邊在下方展示相關(guān)的結(jié)果列表,你可以在任意時(shí)間點(diǎn)擊選擇列表中的項(xiàng),而不用輸入更多字符。

開(kāi)發(fā)指導(dǎo)請(qǐng)參閱?UISearchController和?UISearchBar。

范圍欄(Scope Bars)

范圍欄可以附加于搜索欄,讓用戶(hù)定義搜索的范圍。

優(yōu)先優(yōu)化搜索結(jié)果,而不是一味添加范圍欄。當(dāng)用戶(hù)想在定義明確的類(lèi)別中搜索時(shí),范圍欄會(huì)有很大的幫助。但是,更好的做法是優(yōu)化搜索結(jié)果,這樣用戶(hù)就無(wú)需通過(guò)范圍欄進(jìn)行篩選了。

開(kāi)發(fā)指導(dǎo)請(qǐng)參閱?UISearchBar。

三、狀態(tài)欄(Status Bars)

狀態(tài)欄在屏幕的頂端出現(xiàn),顯示與設(shè)備當(dāng)前狀態(tài)相關(guān)的有用信息,比如時(shí)間、運(yùn)營(yíng)商、網(wǎng)絡(luò)狀態(tài)以及電池容量。狀態(tài)欄上真正顯示的信息根據(jù)不同的設(shè)備和系統(tǒng)設(shè)置有所變化。

使用系統(tǒng)提供的狀態(tài)欄。用戶(hù)希望狀態(tài)欄在系統(tǒng)范圍保持一致,不要用自定義的狀態(tài)欄代替。

亮狀態(tài)欄
暗狀態(tài)欄

根據(jù)你的app設(shè)計(jì)選擇協(xié)調(diào)的狀態(tài)欄樣式。狀態(tài)欄的文本和指標(biāo)的視覺(jué)樣式非明即暗,在你的app中,可以統(tǒng)一使用一種配色,或是根據(jù)不同的屏幕選擇單獨(dú)的配色。暗色系的狀態(tài)欄在淺色的界面上效果好,淺色系的狀態(tài)欄在深色系的界面上效果好。

遮蓋狀態(tài)欄下方的內(nèi)容。狀態(tài)欄的背景默認(rèn)是透明的,這樣會(huì)顯示出狀態(tài)欄下方的內(nèi)容。既要保證狀態(tài)欄的可讀性,又不能讓人誤解下方的內(nèi)容是可交互的,通常通過(guò)以下幾種技巧來(lái)實(shí)現(xiàn):

1)在你的app中使用導(dǎo)航欄,它會(huì)自動(dòng)顯示狀態(tài)欄背景以保證狀態(tài)欄下方不會(huì)出現(xiàn)任何內(nèi)容。

2)在狀態(tài)欄下方放置一張自定義圖片,比如漸變或純色背景。

3)在狀態(tài)欄下方放置一個(gè)模糊的視圖。開(kāi)發(fā)指導(dǎo)請(qǐng)參閱?UIBlurEffect。

全屏展示媒體文件時(shí)考慮暫時(shí)地隱藏狀態(tài)欄。當(dāng)用戶(hù)想要集中注意力在媒體上時(shí),狀態(tài)欄會(huì)令他們分心。暫時(shí)地隱藏狀態(tài)欄元素能夠提供一個(gè)更加沉浸式的體驗(yàn)。比如照片app,在用戶(hù)全屏瀏覽照片時(shí)會(huì)隱藏狀態(tài)欄和其它界面元素。

避免永久地隱藏狀態(tài)欄。在沒(méi)有狀態(tài)欄時(shí),用戶(hù)需要退出你的app去查看時(shí)間或是檢查他們是否連接至Wi-Fi。允許用戶(hù)可以通過(guò)簡(jiǎn)單、易于發(fā)現(xiàn)的手勢(shì)來(lái)重新喚醒被隱藏的狀態(tài)欄。在照片app中瀏覽全屏照片時(shí),用戶(hù)只需在屏幕上輕點(diǎn)即可呼出狀態(tài)欄。

使用狀態(tài)欄顯示網(wǎng)絡(luò)活動(dòng)狀態(tài)。當(dāng)你的app在使用網(wǎng)絡(luò),尤其是耗時(shí)較長(zhǎng)的操作時(shí),顯示網(wǎng)絡(luò)活動(dòng)狀態(tài)欄指示器,這樣用戶(hù)就知道活動(dòng)正在進(jìn)行中。請(qǐng)參閱?Network Activity Indicators。

開(kāi)發(fā)指導(dǎo)請(qǐng)參閱?UIApplication?中的?UIStatusBarStyle?和UIViewController 中的 ?preferredStatusBarStyle?。

四、 標(biāo)簽欄(Tab Bars)

標(biāo)簽欄在app屏幕底部出現(xiàn),提供了在app不同部分間快速切換的途徑。標(biāo)簽欄是半透明的,也可能會(huì)有純色背景,在橫豎屏都保持一致的高度,并且在出現(xiàn)鍵盤(pán)時(shí)會(huì)被隱藏。一個(gè)標(biāo)簽欄可以包含無(wú)數(shù)個(gè)標(biāo)簽,但其所能容納的可見(jiàn)的標(biāo)簽數(shù)量根據(jù)設(shè)備大小和橫豎屏模式有所變化。受水平空間的限制,當(dāng)某些標(biāo)簽無(wú)法被顯示時(shí),最后一個(gè)可見(jiàn)的標(biāo)簽會(huì)變成“更多”, 并通過(guò)該入口前往其余標(biāo)簽列表的另一屏。

一般來(lái)說(shuō),利用標(biāo)簽欄組織應(yīng)用程序?qū)蛹?jí)的信息。標(biāo)簽欄是扁平化信息層級(jí)的好辦法,并且一次性提供了前往多個(gè)平級(jí)信息類(lèi)別或模式的途徑。

標(biāo)簽欄只能作為導(dǎo)航。標(biāo)簽欄按鈕不應(yīng)該執(zhí)行其它操作。如果你需要在當(dāng)前視圖提供作用于元素的控件,你可以使用工具欄代替。請(qǐng)參閱?Toolbars。

避免太多標(biāo)簽。每增加一個(gè)標(biāo)簽就減小了選擇單個(gè)標(biāo)簽的可觸區(qū)域,并且增加了app的復(fù)雜性,讓用戶(hù)更難找到所需的信息。盡管“更多”標(biāo)簽可以展示額外的標(biāo)簽項(xiàng),但這需要額外的點(diǎn)擊步驟,并且對(duì)標(biāo)簽欄的有限空間沒(méi)有很好的利用。只包括至關(guān)重要的標(biāo)簽,并且在你的信息層級(jí)上使用最少的必要標(biāo)簽。但太少的標(biāo)簽也是個(gè)問(wèn)題,它會(huì)讓你的界面感覺(jué)被分離。一般來(lái)說(shuō),在iPhone上使用3至5個(gè)標(biāo)簽,在iPad上則可稍微多幾個(gè)。

不要在某個(gè)標(biāo)簽的功能不可用時(shí)去掉該標(biāo)簽或是使其失效。如果標(biāo)簽時(shí)而可用時(shí)而不可用,你的app界面會(huì)變得不穩(wěn)定和難以捉摸。確保所有的標(biāo)簽都是有效可點(diǎn)擊的,并且向用戶(hù)解釋當(dāng)前標(biāo)簽內(nèi)容不可用的原因。比如,當(dāng)本iOS設(shè)備沒(méi)有歌曲時(shí),音樂(lè)app的“我的音樂(lè)”標(biāo)簽頁(yè)就對(duì)如何下載歌曲做出了說(shuō)明。

總是在與標(biāo)簽欄相連接的視圖切換內(nèi)容。為了讓你的界面符合用戶(hù)預(yù)期,選擇一個(gè)標(biāo)簽后應(yīng)該直接作用于與標(biāo)簽欄相連接的視圖,而不是屏幕其它范圍的視圖。比如,在分屏視圖(split view)的左側(cè)選擇了一個(gè)標(biāo)簽,是不會(huì)導(dǎo)致右半部分突然變化的。在彈窗(popover)選擇一個(gè)標(biāo)簽頁(yè)不會(huì)導(dǎo)致下方的視圖發(fā)生改變。

確保標(biāo)簽欄圖標(biāo)在視覺(jué)上一致和平衡。 系統(tǒng)為常見(jiàn)用例提供了一系列預(yù)定義的圖標(biāo)。 請(qǐng)參閱?System Icons > Tab Bar

Icons。 您也可以創(chuàng)建自己的圖標(biāo),參見(jiàn)?Custom Icons

使角標(biāo)(badge)低調(diào)地傳達(dá)信息。你可以在標(biāo)簽上展示角標(biāo)——一個(gè)帶有白色數(shù)字或感嘆號(hào)的紅色橢圓——來(lái)暗示該標(biāo)簽視圖或模式含有新信息。

開(kāi)發(fā)指導(dǎo)請(qǐng)參閱?UITabBar。

提示:

理解標(biāo)簽欄和工具欄之間的不同十分重要,因?yàn)檫@兩種欄都是出現(xiàn)在app屏幕的底部。標(biāo)簽欄讓用戶(hù)在app的不同部分間快速切換,比如時(shí)鐘app中的“鬧鐘”、“秒表”、“計(jì)時(shí)器”。工具欄包含了執(zhí)行當(dāng)前視圖相關(guān)操作的按鈕,比如創(chuàng)建項(xiàng)、刪除項(xiàng)、添加注釋或是拍照。請(qǐng)參閱?Toolbars。標(biāo)簽欄和工具欄決不會(huì)在同一個(gè)視圖內(nèi)同時(shí)出現(xiàn)。

五、工具欄(Toolbars)

工具欄在app屏幕底部出現(xiàn),包含了執(zhí)行當(dāng)前視圖或包含內(nèi)容相關(guān)操作的按鈕。工具欄是半透明的,也可能會(huì)有純色背景,并且通常在用戶(hù)不太需要它們時(shí)被隱藏。比如,在瀏覽器(Safari)中,當(dāng)你滾動(dòng)頁(yè)面表明你在閱讀時(shí),工具欄就藏起來(lái)了。當(dāng)你在屏幕底部點(diǎn)擊時(shí),工具欄又會(huì)再次出現(xiàn)。當(dāng)前屏幕有鍵盤(pán)時(shí),工具欄也會(huì)被隱藏。

提供相關(guān)的工具欄按鈕。工具欄應(yīng)該包含在當(dāng)前環(huán)境下有意義的常用操作命令。

考慮圖標(biāo)或文字按鈕是否適合你的app。當(dāng)你需要多于三個(gè)工具欄按鈕時(shí),出現(xiàn)圖標(biāo)會(huì)很好。當(dāng)你只有三個(gè)或是更少的按鈕時(shí),文字可能有時(shí)看起來(lái)更加清楚。比如,在日歷app中,文本就被當(dāng)作按鈕使用,因?yàn)閳D標(biāo)可能會(huì)令人迷惑。因?yàn)槭褂昧宋谋荆笆占洹卑粹o還能顯示所有的日歷和事件邀請(qǐng)數(shù)量。

避免在工具欄使用分段控件。分段控件讓用戶(hù)切換內(nèi)容,而工具欄更針對(duì)于當(dāng)前屏幕。如果你需要提供切換內(nèi)容的方式,請(qǐng)考慮使用標(biāo)簽欄替代。請(qǐng)參閱?Tab Bars。

給予文本按鈕足夠的空間。如果你的工具欄含有多個(gè)按鈕,文本按鈕就會(huì)擠在一起,導(dǎo)致按鈕間難以區(qū)分。在按鈕之間插入固定間距使其分離。開(kāi)發(fā)指導(dǎo)請(qǐng)參閱?UIBarButtonItem 中的?UIBarButtonSystemItemFixedSpace。

開(kāi)發(fā)指導(dǎo)請(qǐng)參閱?UIToolbar。

提示:

理解工具欄和標(biāo)簽欄之間的區(qū)別很重要,因?yàn)檫@兩種類(lèi)型的欄都出現(xiàn)在應(yīng)用程序屏幕的底部。工具欄包含用于執(zhí)行與當(dāng)前環(huán)境相關(guān)的操作的按鈕,例如創(chuàng)建項(xiàng)、刪除項(xiàng)、添加注釋或是拍照。標(biāo)簽欄可讓用戶(hù)在應(yīng)用程序的不同部分之間快速切換,例如,時(shí)鐘app中的“鬧鐘”、“秒表”、“計(jì)時(shí)器”標(biāo)簽。 請(qǐng)參閱?Tab Bars。 工具欄和標(biāo)簽欄從不出現(xiàn)在同一個(gè)視圖中。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容