2018-08-12 21:55 更新

狀態(tài)欄

狀態(tài)欄展示了關(guān)于設(shè)備及其周?chē)h(huán)境的重要信息。

默認(rèn)(深色)內(nèi)容

淺色

狀態(tài)欄:

  • 是透明的
  • 始終固定在整個(gè)屏幕的上邊緣

API 注釋

你可以將全應(yīng)用的狀態(tài)欄風(fēng)格設(shè)計(jì)成統(tǒng)一的,或者給不同的視圖控制器定義不同的狀態(tài)欄風(fēng)格。想要了解更多內(nèi)容,你可以通過(guò) UIApplication Class Reference 來(lái)了解 UIStatusBarStyle 常數(shù),以及通過(guò) UIViewController Class Reference 來(lái)了解更多關(guān)于 preferredStatusBarStyle 屬性的內(nèi)容。

不要?jiǎng)?chuàng)建自定義狀態(tài)欄。用戶(hù)依賴(lài)系統(tǒng)默認(rèn)狀態(tài)欄的一致性。就算你可能會(huì)在應(yīng)用中隱藏它,也不宜定制一個(gè)新的 UI 來(lái)代替原有系統(tǒng)狀態(tài)欄。

避免滾動(dòng)內(nèi)容直接透過(guò)狀態(tài)欄顯示。你不會(huì)希望用戶(hù)在滾動(dòng)的時(shí)候看到五花八門(mén)的內(nèi)容和狀態(tài)欄自身的元素混合在一起。想要讓用戶(hù)感受到內(nèi)容區(qū)域夠大的同時(shí),最大限度地保證可讀性,請(qǐng)保證在狀態(tài)欄后面添加一塊背景,用以模糊出現(xiàn)在狀態(tài)欄后的內(nèi)容。以下有一些方法可以讓滾動(dòng)的內(nèi)容能正常顯示在狀態(tài)欄后面:

  • 使用導(dǎo)航控制器(navigation controller)來(lái)展示內(nèi)容。導(dǎo)航控制器自動(dòng)展示狀態(tài)欄背景,同時(shí)能確保內(nèi)容視圖不會(huì)出現(xiàn)在狀態(tài)欄后面。(了解更多請(qǐng)參考 Navigation Controllers)。
  • 在狀態(tài)欄后面放一個(gè)低調(diào)的、不會(huì)搶走用戶(hù)注意力的自定義圖形——比如一道漸變。想要保證這樣的圖形始終固定在狀態(tài)欄后面,你可以用視圖控制器(view controller)來(lái)讓它固定在滾動(dòng)內(nèi)容上一層,又或者可以用滾動(dòng)視圖(scrolling view)來(lái)保證圖形固定在屏幕的頂部。
  • 讓內(nèi)容固定在導(dǎo)航欄區(qū)域外顯示(這個(gè)區(qū)域由應(yīng)用的 statusBarFrame 屬性來(lái)定義)。如果你確定要這樣做的話(huà),請(qǐng)給導(dǎo)航欄區(qū)域添加固定的、與屏幕背景色相同的背景色。 千萬(wàn)千萬(wàn),避免在狀態(tài)欄后面疊加會(huì)分散注意力的內(nèi)容。尤其是,你不能讓用戶(hù)覺(jué)得輕擊狀態(tài)欄之后可以獲取內(nèi)容或激活你的應(yīng)用中的控件。

隱藏狀態(tài)欄時(shí)請(qǐng)慎重。由于狀態(tài)欄是透明的,通常情況下不需要隱藏它。始終隱藏狀態(tài)欄意味著用戶(hù)必須退出你的應(yīng)用才能知道現(xiàn)在的時(shí)間,或者了解當(dāng)前環(huán)境下是否有 Wi-Fi 連接。

在用戶(hù)全屏觀看媒體時(shí),考慮隱藏狀態(tài)欄以及所有頁(yè)面 UI。當(dāng)你這么做的時(shí)候,請(qǐng)確保用戶(hù)在輕擊屏幕時(shí)即可重新喚起狀態(tài)欄以及相關(guān)的 UI。而除非你有充分的理由,否則最好不要重新定義一個(gè)手勢(shì)來(lái)讓用戶(hù)喚起狀態(tài)欄,因?yàn)橛脩?hù)不會(huì)發(fā)現(xiàn),就算發(fā)現(xiàn)了也難以記住。

為你的應(yīng)用選擇配色協(xié)調(diào)的狀態(tài)欄顏色。默認(rèn)的狀態(tài)欄內(nèi)容是黑色的,在淺色應(yīng)用中效果出色,而相應(yīng)的淺色狀態(tài)欄則更適用于顏色較深的應(yīng)用。

在適當(dāng)?shù)臅r(shí)候展示網(wǎng)絡(luò)活動(dòng)指示器(network activity indicator)。這可以提醒用戶(hù)顯示長(zhǎng)時(shí)間的網(wǎng)絡(luò)接入狀態(tài)。更多詳情請(qǐng)參考本章第三節(jié)控件部分的網(wǎng)絡(luò)活動(dòng)指示器部分(Network Activity Indicator)。

導(dǎo)航欄

導(dǎo)航欄能夠?qū)崿F(xiàn)在應(yīng)用不同信息層級(jí)結(jié)構(gòu)間的導(dǎo)航,有時(shí)候也可用于管理當(dāng)前屏幕內(nèi)容。

導(dǎo)航欄:

  • 是半透明的
  • 通常位于屏幕的上方,狀態(tài)欄正下方。在橫屏視圖中,導(dǎo)航欄也可以包含在某一視圖中,不需要與整個(gè)屏幕等寬,比如說(shuō)它可以出現(xiàn)在對(duì)分視圖控制器(split view controller)的其中一側(cè)。
  • 當(dāng)鍵盤(pán)被喚起、用戶(hù)使用了手勢(shì)、或者當(dāng)前視圖變?yōu)樨Q屏的情況下,導(dǎo)航欄可以隱藏。
  • 可以填充顏色(使用 tintColor 來(lái)定義導(dǎo)航欄中的圖標(biāo)與文字顏色;使用 barTintColor 來(lái)填充導(dǎo)航欄背景色)

API 注釋

導(dǎo)航欄包含于導(dǎo)航控制器(一個(gè)管理顯示自定義視圖層級(jí)結(jié)構(gòu)的程序?qū)ο螅┲小O胍私飧嚓P(guān)于如何在代碼中定義一個(gè)導(dǎo)航欄的信息,請(qǐng)參閱 Navigation Controllers, UINavigationController Class ReferenceUINavigationBar Class Reference.

你可以用導(dǎo)航欄在不同視圖間提供導(dǎo)航,或在上面放置管理當(dāng)前視圖內(nèi)容的相關(guān)控件。如果你需要提供導(dǎo)航欄難以承載的大量控件同時(shí)又不是非要提供導(dǎo)航不可,你可以考慮使用工具欄(Toolbar)。

當(dāng)用戶(hù)到達(dá)一個(gè)新的層級(jí),導(dǎo)航欄需要做出這樣的改變:

  • 導(dǎo)航欄標(biāo)題應(yīng)該變成當(dāng)前層級(jí)的標(biāo)題。
  • 當(dāng)前標(biāo)題左側(cè)放置應(yīng)有返回按鈕,需要的話(huà),返回按鈕可以以前一層級(jí)的標(biāo)題命名。 使用當(dāng)前視圖的標(biāo)題作為導(dǎo)航欄標(biāo)題。若覺(jué)得標(biāo)題冗余,你也可以將標(biāo)題留空。舉個(gè)例子,備忘錄的導(dǎo)航欄中就沒(méi)有當(dāng)前備忘錄的標(biāo)題,因?yàn)閭渫浀牡谝恍芯鸵呀?jīng)提供了所有用戶(hù)需要的內(nèi)容。

考慮在應(yīng)用最高層級(jí)的導(dǎo)航欄中放置一個(gè)分段控件。它能夠幫助你更好地扁平信息層級(jí),也會(huì)讓用戶(hù)更容易找到所需內(nèi)容。如果在導(dǎo)航欄中使用了分段控件,請(qǐng)確保返回按鈕標(biāo)題命名的準(zhǔn)確。(更多使用指引請(qǐng)參閱本章第三節(jié)中的分段控件。)

如果需要的話(huà),可以考慮在導(dǎo)航欄位置使用提示語(yǔ)(prompt)來(lái)告訴用戶(hù)在當(dāng)前屏幕中他們可以做什么。提示語(yǔ)是一句出現(xiàn)在導(dǎo)航欄頂部的短句。舉個(gè)例子,股票應(yīng)用(Storcks)中就給用戶(hù)提供了這么一句提示,來(lái)確保用戶(hù)知道怎么去搜索自己想要的信息。

如果你需要用到提示語(yǔ),請(qǐng)?jiān)O(shè)計(jì)一句簡(jiǎn)明扼要的單句,并在句末配以適當(dāng)?shù)臉?biāo)點(diǎn)符號(hào)。

即使空間充足,也應(yīng)當(dāng)避免讓過(guò)多的控件填滿(mǎn)你的導(dǎo)航欄。一般來(lái)說(shuō),導(dǎo)航欄上應(yīng)該不多于以下三個(gè)元素:當(dāng)前視圖的標(biāo)題、返回按鈕和一個(gè)針對(duì)當(dāng)前的操作控件。而當(dāng)你在導(dǎo)航欄中使用了分段控件,就不要再放標(biāo)題以及其它多余控件了。

確保文字按鈕之間擁有足夠的空間。如果導(dǎo)航欄左邊或右邊的文字按鈕之間的間距太小,那些文字看起來(lái)會(huì)像擠在一起一樣,讓用戶(hù)難以區(qū)分。如果按鈕在導(dǎo)航欄中顯得太過(guò)擁擠,你可以使用 UIBarButtonSystemItemFixedSpace 常數(shù)來(lái)給他們?cè)黾舆m當(dāng)?shù)拈g距。(想要了解更多關(guān)于這個(gè)常數(shù)的內(nèi)容,請(qǐng)參考 UIBarButtonItem Class Reference.)

確保你自定義的導(dǎo)航欄在你的應(yīng)用的每個(gè)視圖中都擁有一致的外觀與體驗(yàn)。舉個(gè)例子,不要在同一個(gè)應(yīng)用中使用不透明導(dǎo)航欄和半透明工具欄。在屏幕處于同一方向時(shí),最好不要改變不同屏上導(dǎo)航欄的背景圖片、顏色和透明度。

確保你自定義的返回按鈕的外觀與操作仍然像一個(gè)返回按鈕。用戶(hù)知道系統(tǒng)默認(rèn)的返回按鈕能幫助他們?cè)谛畔蛹?jí)中追蹤自己的路徑,如果你想重新設(shè)計(jì)它,請(qǐng)確保使用一個(gè)自定義的蒙版圖層 (custom mask image),它可以在 iOS 中讓這些按鈕標(biāo)題在系統(tǒng)各轉(zhuǎn)場(chǎng)中出現(xiàn)或者消失。

重要

不要?jiǎng)?chuàng)建多段式(multisegment)返回按鈕。返回按鈕通常是用來(lái)幫助用戶(hù)回到當(dāng)前層級(jí)的父層級(jí)中去的。如果你擔(dān)心用戶(hù)在沒(méi)有了這種多節(jié)式的、如同面包屑一般的返回按鈕后會(huì)迷路,那么你也許該好好考慮如何扁平你的信息層級(jí)了。

在用戶(hù)需要專(zhuān)注于內(nèi)容的時(shí)候,可以考慮隱藏導(dǎo)航欄。當(dāng)你這么做的時(shí)候,請(qǐng)確保用戶(hù)通過(guò)一個(gè)簡(jiǎn)單的手勢(shì)(比如一下輕擊)即可重新喚起導(dǎo)航欄。

工具欄

工具欄上放置著用于操作當(dāng)前屏幕中各對(duì)象的控件。

工具欄:

  • 是半透明的
  • 在 iPhone 上,工具欄始終位于屏幕底部,而在 iPad 上則有可能出現(xiàn)在頂部
  • 當(dāng)鍵盤(pán)被喚起、用戶(hù)使用了手勢(shì)、或者當(dāng)前視圖變?yōu)樨Q屏的情況下,工具欄可以隱藏。 API 注釋

工具欄包含在導(dǎo)航控制器(navigation controller)中,該控制器用于管理定制視圖中信息層級(jí)的展示形式。 想要了解如何在代碼中定義工具欄,請(qǐng)參考 Displaying a Navigation Toolbar 以及 UIToolbar Class Reference.

你可以在工具欄里提供一系列讓用戶(hù)對(duì)當(dāng)前視圖內(nèi)容進(jìn)行操作的工具。

在工具欄里放置用戶(hù)在當(dāng)前情景下最常用的指令。盡量避免在工具欄里提供一些僅會(huì)偶爾用到的指令。

可以在工具欄里放置分段控件以方便用戶(hù)快速切換當(dāng)前內(nèi)容的不同視圖或模式。在工具欄中提供應(yīng)用全局的任務(wù)或者模式分段控件是不恰當(dāng)?shù)?,因?yàn)楣ぞ邫谥械乃胁僮鞫紤?yīng)當(dāng)是針對(duì)當(dāng)前屏幕和視圖的。如果你需要讓用戶(hù)可以快速喚起應(yīng)用全局的任務(wù)、或改變?nèi)忠晥D和模式,可以使用標(biāo)簽欄(Tab Bar)。想要了解更多分段控件的內(nèi)容,請(qǐng)參考下文的分段控件(Segmented Control)部分;想要了解更多標(biāo)簽欄的內(nèi)容,請(qǐng)參考下文中的標(biāo)簽欄(Tab Bar)部分。

如果需要在工具欄上展示3個(gè)以上的項(xiàng)目,可以使用圖標(biāo)。由于文本按鈕通常會(huì)比圖標(biāo)更占空間,所以用圖標(biāo)可以避免文字標(biāo)題們擠在一起。

保證工具欄文字按鈕之間有足夠的間距。如果按鈕之間間距過(guò)小,會(huì)讓蚊子看起來(lái)擠在一起,讓用戶(hù)覺(jué)得它們難以區(qū)分。如果按鈕在導(dǎo)航欄中顯得太過(guò)擁擠,可以用 UIBarButtonSystemItemFixedSpace 常數(shù)來(lái)增加他們之間的間距。(想要了解更多關(guān)于這個(gè)常數(shù)的內(nèi)容,請(qǐng)參考 UIBarButtonItem Class Reference.)

工具欄與導(dǎo)航標(biāo)準(zhǔn)按鈕

iOS 提供了一系列工具欄與導(dǎo)航欄上的內(nèi)置標(biāo)準(zhǔn)按鈕。想要了解如何設(shè)計(jì)自定義圖標(biāo),請(qǐng)參考本文第五章欄按鈕圖標(biāo)(Bar Button Icons)部分。工具欄和導(dǎo)航欄圖標(biāo)的顏色可以通過(guò) tintColor 屬性來(lái)設(shè)定。

想要了解每一個(gè)按鈕所對(duì)應(yīng)的標(biāo)志名稱(chēng)及其含義,請(qǐng)參閱 UIBarButtonItem Class Reference 中的 UIBarButtonSystemItem 部分。

重要

跟所有標(biāo)準(zhǔn)按鈕和圖標(biāo)相同,應(yīng)當(dāng)根據(jù)文檔中說(shuō)明的圖標(biāo)含義,而不是只憑圖標(biāo)外觀來(lái)使用這些工具欄圖標(biāo)和導(dǎo)航欄圖標(biāo)。這樣能夠保證在關(guān)聯(lián)特定意義的按鈕改變了外觀的情況下,你的應(yīng)用中的 UI 仍然是可用而有意義的。

表格 41-1 工具欄與導(dǎo)航欄標(biāo)準(zhǔn)按鈕 (Standard buttons available for toolbars and navigation bars)

除了表格41-1里展示的標(biāo)準(zhǔn)按鈕之外,你還可以使用系統(tǒng)提供的編輯、取消、保存、完成、撤銷(xiāo)、重做等等按鈕來(lái)支持編輯或其它操作。這些按鈕的標(biāo)題即是按鈕的操作內(nèi)容。想要了解每一個(gè)按鈕的名稱(chēng)及其含義,請(qǐng)參閱 UIBarButtonItem Class Reference 中的 UIBarButtonSystemItem. 另外,你還可以在工具欄中放置系統(tǒng)提供的信息按鈕(info button).

標(biāo)簽欄

標(biāo)簽欄讓用戶(hù)在不同的子任務(wù)、視圖和模式中進(jìn)行切換。

API 注釋

標(biāo)簽欄包含在標(biāo)簽欄控制器中,該控制器用于管理自定義視圖的展示形式。想要了解如何在代碼中定義標(biāo)簽欄,請(qǐng)參考 Tab Bar ControllersUITabBar.

標(biāo)簽欄位于屏幕底部,并應(yīng)該保證在應(yīng)用內(nèi)任何位置都可用。標(biāo)簽欄是半透明的,展示圖標(biāo)和文字內(nèi)容,每一項(xiàng)均保持等寬。當(dāng)用戶(hù)選中某個(gè)標(biāo)簽時(shí),該標(biāo)簽呈現(xiàn)適當(dāng)?shù)母吡翣顟B(tài)。

標(biāo)簽欄:

  • 是半透明的
  • 始終出現(xiàn)在屏幕的底部
  • 一個(gè)標(biāo)簽欄一次最多可承載5個(gè)標(biāo)簽(多于5個(gè)標(biāo)簽的時(shí)候,可以展示前4個(gè)標(biāo)簽和一個(gè)“更多”,并將其他的標(biāo)簽以列表形式收納到“更多”里面)
  • 在橫屏與豎屏情況下,高度均保持一致
  • 你可以在標(biāo)簽上加上紅底白字,顯示數(shù)字或者省略號(hào)的小氣泡(badge)以展示特定的應(yīng)用信息 你可以使用標(biāo)簽欄來(lái)切換對(duì)同一組數(shù)據(jù)的不同視圖模式,或者整體功能下不同的子任務(wù)。

一般而言,使用標(biāo)簽欄來(lái)組織整個(gè)應(yīng)用層面的信息結(jié)構(gòu)。標(biāo)簽欄非常適合用于應(yīng)用的主界面中,因?yàn)樗梢院芎玫乇馄叫畔蛹?jí),并且同時(shí)提供多個(gè)觸達(dá)同級(jí)信息類(lèi)目與模式的入口。

不要使用標(biāo)簽來(lái)讓用戶(hù)執(zhí)行對(duì)于當(dāng)前應(yīng)用與屏幕內(nèi)容的操作。如果你需要給用戶(hù)提供操作控件,請(qǐng)使用工具欄。

即使標(biāo)簽當(dāng)前不可用,也不要把它從標(biāo)簽欄中刪除。讓某些標(biāo)簽時(shí)而出現(xiàn)時(shí)而隱藏,會(huì)讓用戶(hù)覺(jué)得你的應(yīng)用 UI 不穩(wěn)定而且難以預(yù)測(cè)。最好的解決方式是確保每個(gè)標(biāo)簽都可用,然后給用戶(hù)解釋某個(gè)標(biāo)簽的內(nèi)容不可用的原因。舉個(gè)例子,當(dāng)用戶(hù)沒(méi)有在設(shè)備中保存任何歌曲,在系統(tǒng)音樂(lè)應(yīng)用的歌曲標(biāo)簽頁(yè)里就可以教育用戶(hù)如何去下載一首歌。

考慮在 tab 上加入紅色的小氣泡(Badge)以低調(diào)地傳達(dá)信息。你可以通過(guò)添加小氣泡來(lái)告知用戶(hù)該標(biāo)簽中包含新的內(nèi)容。

根據(jù)控件的標(biāo)準(zhǔn)含義來(lái)選擇系統(tǒng)提供的圖標(biāo)。詳情請(qǐng)查看下文中的標(biāo)簽欄標(biāo)準(zhǔn)圖標(biāo)(Tab Bar Icons)。如果想自定義標(biāo)簽欄圖標(biāo),請(qǐng)參考文檔第五章中 Bar Buttons Icons 里給出的建議。

在橫屏視圖中,你可能會(huì)在對(duì)分視圖(split view pane)或者浮出層(popover)內(nèi)使用標(biāo)簽欄以切換或篩選視圖中的內(nèi)容。如果這些標(biāo)簽是用于切換或者過(guò)濾當(dāng)前視圖中的內(nèi)容的話(huà),你可以這么做。然而通常情況下,在對(duì)分視圖和浮出層底部使用分段控件效果會(huì)更好,因?yàn)橐曈X(jué)上看起來(lái)更為協(xié)調(diào)。更多詳情請(qǐng)參考文檔本章第三節(jié)中的分段控件。

避免讓過(guò)多的標(biāo)簽填滿(mǎn)你的標(biāo)簽欄。放置太多標(biāo)簽會(huì)讓用戶(hù)難以選中他想要點(diǎn)擊的那一個(gè)。而同時(shí)每添加一個(gè)標(biāo)簽,意味著你的應(yīng)用程序又復(fù)雜了一分。

盡可能地在橫屏與豎屏情況下都展示相同數(shù)量的標(biāo)簽。在不同的屏幕方向下提供同樣的標(biāo)簽可以讓用戶(hù)對(duì)應(yīng)用建立很好的視覺(jué)穩(wěn)定感。在橫屏中,你應(yīng)該將與豎屏?xí)r數(shù)量相同的標(biāo)簽居中展示。在橫屏中,避免使用“更多”標(biāo)簽。如果應(yīng)用是橫屏的,那么把額外的操作都塞到一個(gè)“更多”里面是對(duì)空間一種糟糕的浪費(fèi)。

標(biāo)簽欄標(biāo)準(zhǔn)圖標(biāo)

iOS 提供了一系列標(biāo)簽欄標(biāo)準(zhǔn)圖標(biāo),在下面的表格35-2中有詳細(xì)展示。想要了解如何設(shè)計(jì)自定義圖標(biāo),請(qǐng)參考文檔第五章欄標(biāo)準(zhǔn)按鈕部分。標(biāo)簽欄圖標(biāo)的顏色可以通過(guò) tintColor 屬性來(lái)設(shè)定。

想要了解每一個(gè)圖標(biāo)的名稱(chēng)及其含義,請(qǐng)參閱 UIBarItem Class Reference 中的 UITabBarSystemItem 部分。

重要

跟所有的標(biāo)準(zhǔn)按鈕與圖表相同,根據(jù)文檔說(shuō)明的圖表含義而不是僅憑圖表外觀來(lái)使用這些圖標(biāo)是很關(guān)鍵的。這樣能夠保證在關(guān)聯(lián)特定含義的按鈕改變了外觀的情況下,你的應(yīng)用中的 UI 仍然是可用而有意義的。

表格 41-2 標(biāo)簽欄標(biāo)準(zhǔn)按鈕 (Standard icons for use in the tabs of a tab bar)

搜索欄

搜索欄獲取用戶(hù)鍵入的文本,用以作為搜索的關(guān)鍵字(下圖中顯示的文本為占位符,非用戶(hù)輸入文本)。

API 注釋

想要了解如何在代碼中定義搜索欄,請(qǐng)參考 UISearchBar.想要了解更多如何顯示搜索欄,請(qǐng)參考 UISearchDisplayController.

搜索欄可能包含以下這些可選元素:

  • 占位符文本(Placeholder text)。占位符文本通常會(huì)寫(xiě)明控件的功能(比如上圖里的 “Search”字樣),或者提示用戶(hù)輸入的文本將在哪里搜索(如“Google”)。
  • 書(shū)簽按鈕(The Bookmarks button)。書(shū)簽按鈕可以讓用戶(hù)方便地找到他們需要的內(nèi)容。例如在地圖中搜索時(shí),用戶(hù)可以通過(guò)書(shū)簽按鈕快速選中書(shū)簽地址、最近搜索記錄、或通訊錄。

書(shū)簽按鈕只有當(dāng)搜索欄中沒(méi)有占位符或用戶(hù)輸入內(nèi)容時(shí)才會(huì)出現(xiàn),當(dāng)搜索欄中已有文本時(shí),書(shū)簽按鈕會(huì)被清除按鈕(Clear button)所代替。

  • 清除按鈕(The Clear button)。大多數(shù)搜索欄都會(huì)提供清除按鈕,方便用戶(hù)一鍵清空輸入內(nèi)容。

一旦用戶(hù)在文本框中輸入內(nèi)容,清除按鈕就會(huì)出現(xiàn),用戶(hù)可以用它來(lái)一鍵清空輸入內(nèi)容;而當(dāng)搜索框中沒(méi)有任何文本內(nèi)容時(shí),清空按鈕將被隱藏。

  • 結(jié)果列表圖標(biāo)(The results list icon)。結(jié)果圖標(biāo)說(shuō)明此次搜索有搜出結(jié)果。當(dāng)用戶(hù)點(diǎn)擊它時(shí)會(huì)出現(xiàn)用戶(hù)最近一次搜索的搜索結(jié)果。

  • 提示(Prompt)。描述性標(biāo)題,我們稱(chēng)之為提示。描述性標(biāo)題是一個(gè)短而完整的句子,為搜索欄提供介紹或指引應(yīng)用特定信息。 在你的應(yīng)用中使用搜索欄讓用戶(hù)進(jìn)行搜索。不要使用文本框,因?yàn)槲谋究虻耐庥^不符合用戶(hù)對(duì)搜索的預(yù)期。

在 iOS 8 以及之后的版本里,你可以通過(guò) UISearchDisplayController 簡(jiǎn)單快捷地把搜索欄放在導(dǎo)航欄中。請(qǐng)注意,當(dāng)搜索的視圖控制器包含在導(dǎo)航控制器里面的時(shí)候——比如在郵件應(yīng)用(Mail)中那樣,當(dāng)用戶(hù)激活搜索時(shí),搜索欄會(huì)自動(dòng)上浮,平鋪到原來(lái)導(dǎo)航欄的位置上。 根據(jù)搜索功能在你的應(yīng)用中的重要程度來(lái)選擇搜索欄的樣式。如果搜索在你的應(yīng)用中是最基礎(chǔ)的功能,請(qǐng)使用突出樣式(the prominent style);如果搜索不是用戶(hù)常用的功能,那么可以使用弱化樣式(the minimal style)。

范圍欄

范圍欄只有在與搜索欄一起時(shí)才會(huì)出現(xiàn),它讓用戶(hù)可以定義搜索結(jié)果的范圍。

API 注釋

想要了解如何在代碼中定義搜索欄與范圍欄,請(qǐng)參考 UISearchBar.

當(dāng)搜索欄出現(xiàn)時(shí),范圍欄會(huì)出現(xiàn)在它的附近。范圍欄的外觀與你所指定的搜索欄的外觀兼容。

當(dāng)用戶(hù)想在明確的分類(lèi)范圍內(nèi)進(jìn)行搜索時(shí),使用范圍欄是非常有用的。然而,更好的選擇是優(yōu)化您的搜索結(jié)果,讓用戶(hù)不需要使用范圍欄對(duì)搜索結(jié)果進(jìn)行篩選,便可以找到他們所需要的內(nèi)容。

以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)