列表視圖風格和附件視圖
根據使用目的不同,列表視圖可以具有不同的風格。除此之外,UIKit框架為用于繪制列表視圖行的單元格也提供了多個標準風格。它還提供了標準附件視圖(即控件),可以在單元格中使用。
列表視圖風格
列表視圖的兩個主要風格分別是plain
和grouped
(平實和聚合)。這兩個風格在外觀上有著明顯區別。
平實風格
平實風格的列表視圖所顯示的行橫向貫穿屏幕,背景為乳白色(見圖1-1)。平實風格的列表至少有一個或多個節,每節有一行甚至多行,每個節都可以有自己的題頭和注腳。(題頭或注腳都可以有自定義視圖,例如包含一副圖像)。當用戶滾動一個擁有多行的節時,節的題頭會浮動在列表視圖上部,而注腳浮動在底部。
有一種平時風格列表的變種,使用索引標記節,實現快速導航;圖1-2顯示了一個這種類型的例子,被稱為indexed list
(索引列表)。索引在列表的右端依次向下排布。索引中的條目對節的題頭對應。點擊一個索引條目,會讓列表視圖自動滾動至對應的節。例如,節的題頭可能是兩個字母的州名縮寫,而節中的行可以是這個州的所有城市;點擊索引的某個條目,會顯示所選州的所有城市。在索引列表中的行不應該有disclosure indicator
(擴展指示器)按鈕,因為這干擾列表。
最簡單的列表視圖類型是選擇列表(見圖1-3)。選擇列表是一個平實風格的列表視圖,顯示了一組選項,讀者可以選擇??梢詫⑦x擇限制單選,也可以多選。選擇列表會將被選中的行用對勾標記(見圖1-3)。
聚合風格
聚合風格的列表視圖顯示一組信息,但將相關的行聚合在有視覺分隔的多個節中。如圖1-4所示,每節都是圓角覺醒,而且默認情況下有藍灰背景的襯托。每節可以用文字或圖像作為題頭或注腳,以便對節的內容提供一些背景信息或總結。聚合風格的列表最適合用于顯示數據結構中的最細節信息。它使得多個不同類的獨立信息聚合在一起,并且為這些信息的組合提供語境信息,以便讀者能夠快速理解。
聚合列表中的節的題頭和注腳的相對位置和大小如圖1-5所示。
在iPad設備上,當列表視圖本身很寬時,聚合視圖會自動獲得更寬的邊距。
單元格的標準風格
除了為列表視圖提供兩個默認風格,UIKit框架為單元格定義了4個風格,這些單元格可以用來繪制列表的行??梢宰远x不同外觀的單元格,但是,這4個默認的單元格風格已經可以滿足大多數需要。用標準單元格風格或者自定義單元格風格創建列表視圖的技術參見窺探單元格。
默認的列表視圖行的的風格很簡答,只有一行遍體和一個可選的圖像(圖1-6)。這個風格被定義為UITableViewCellStyleDefault
常量。
圖1-7顯示的單元格風格將主標題左對齊,并在下方放置了一個灰色的次標題。另外還可以在默認位置上放置一副圖像。這個風格被定義為UITableViewCellStyleSubtitle
常量。
圖1-8實現的單元格風格左對齊主標題。另外還放置了一個藍色次標題,并將其右對齊。不能使用圖像。這個風格適合用在應用的設置里,子標題可以用來顯示設置當前的選項。它被定義為UITableViewCellStyleValue1
常量。
圖1-9顯示的單元格風格將主標題設置為藍色,并將其自左側縮進的某個點開始右對齊。子標題從這個點向右開始的一段距離內左對齊。這個風格不能放置圖像。它被用在電話應用中,被定義為UITableViewCellStyleValue2
常量。
附件視圖
有三類標準附件視圖(根據它們附件類型常量顯示):
Disclosure indicator
擴展指示器(UITableViewCellAccessoryDisclosureIndicator
):當選中一個單元格會跳轉至顯示下一個數據結構層級的列表視圖時,使用擴展指示器。Detail disclosure button
細節擴展按鈕(UITableViewCellAccessoryDetailDisclosureButton
):當選中一個單元格會跳轉至顯示這個條目餓細節信息的視圖時(不一定還是列表視圖),使用細節擴展按鈕。Checkmark
對勾(UITableViewCellAccessoryCheckmark
):當觸摸行會導致選中這個條目時,使用對勾。這種列表視圖被稱為選擇列表,類似于彈出列表。選擇列表可以單選,也可多選,同時使用多個對勾。
除了標準的福建視圖,也可以指定控件(例如,開關)或自定義視圖,將它們作為附件視圖使用。