close

Table View 又稱為表格元件,可以一列一列的方式顯示資料,每一列資料稱為儲存格 (Cell) ,每個儲存格可以包含一個或多個不同型別的元件。

其常用的屬性有以下幾個:

1. Content : 設定表格中儲存格的產生方式,預設為 Dynamic Prototype ,表示以動態方式建立。Statics Cells 則可以靜態方式建立

2. Prototype Cells : 設定表格中儲存格的數目,預設為 0

3. Style : 設定表格中儲存格是否以群組方式顯示,預設為 Plain ,表示非群組方式。 Grouped 則表示以群組方式顯示

4. Separator : 設定表格中儲存格間的分隔線,預設為 Default ,表示顯示分隔線。若為 None 則不顯示,若為 Single Line 則顯示分隔線

5. Separator Insets : 預設為 Default ,設定為 Custom 則可定義分隔線的左右間距

6. Sections : 設定表格中包含多少區段,屬性當 Content 設定為 Statics Cell 才有作用

除了建立 Table View 以外,還必須進一步建立 Table View Cell ,因為預設的 Table View 未包含任何儲存格。

而以下是 Table View Cell 的常用屬性:

1. Style : 有許多樣板可以選擇,諸如 Basic, Right Detail, Left Detail, Subtitle, Custom 等等

2. Image : 設定儲存格中的圖示

3. Identifier : 設定儲存格名稱

4. Accessory : 設定表格中儲存格的指示器,例如 None 代表不顯示,Disclosure Indicator 表示連結到另一個細節的頁面,Detail Disclosure 代表驚嘆號圖示,Checkmark 指示選取的狀態

5. Separator : 設定分隔線, Default Insets 可顯示部份分隔線,Custom Insets 可顯示完整的分隔線

指示器的主要功能是提示如何操作此儲存格。

 

要使動態建立的儲存格顯示資料,必須實作 UITableViewDataSource 和 UITableViewDDelegate 。

UITableViewDataSource 敘述表格共用有幾個區,每一區有多少列,每一列的資料分別是什麼。

常用的方法有以下三個:

1. numberOfSectionInTableView : 設定共有多少區段,預設為 1

2. numberOfRowsSection : 設定每一區段有多少列

3. cellForRowAtIndexPath : 設定表格中儲存格的內容

UITableViewDelegate 設定表格的外觀及觸發的方法。

 

另外如果想要處理儲存格點選後的動作,需要實作 UITableViewDelegate 方法還有 didSelectRowAtIndexPath 方法。

UITableViewDelegate 的方法如下所示:

1. didSelectorRowAtIndexPath : 儲存格即將被選取時發生的事件

2. willSelectionRowAtIndexPath : 點選儲存格發生的事件

3. editingStyleForRowAtIndexPath : 設定滑動後顯示紅色刪除按鈕

 

有時候需要對表格進行編輯,例如變更儲存格的資料、刪除儲存格或者是改變儲存格的順序。

若是需要變更儲存格的內容就必須使用 NSMutableArray 動態的陣列,而非靜態的陣列。

ex : var balls:NSMutableArray = ["籃球", "足球", "棒球"]

另外想要處理儲存格的編輯動作還必須實作 UITableViewDataSource 和 UITableViewDelegate 方法:

1. editingStyleForRowAtIndexPath : 設定滑動後顯示紅色刪除按鈕

2. commitEditingStyle : 刪除該儲存格的資料

3. canMoveRowAtIndexPath : 設定儲存格是否可以拖曳

4. move N F L RowAtIndexPath : 將動態陣列中的資料移到指定位置

 

arrow
arrow
    文章標籤
    SWIFT Table View
    全站熱搜

    Cloud 發表在 痞客邦 留言(0) 人氣()