UITableView 基礎筆記(1)

Lacie
Lacie
Oct 21 · 5 min read
Photo by Glenn Carstens-Peters on Unsplash

前言

以前已經有做過一個 To-do List,只是還不盡完善,有非常多地方可以修正、變得更好,且也沒把一些重點給記下來,故接下來會把重點放在完善已有的 App Project 及做些筆記。


UITableView 的用處及注意事項

UITableView 就如同本篇的第一張圖片一樣,是用來呈現類似一個清單的資料( a list of information )。

UITableView 一定要有 UITableView Cell,否則沒有辦法呈現出資料來。

UITableView 使用 Storyboard 創建的話有兩種用法:

  1. 整個頁面都是 TableView,可以直接拉一個 TableView Controller 進來( cell 自動被加入)
  2. 頁面的一小區塊是 TableView,可以拉 TableView 就好(自己加 cell)

以下示範建立 UITableView 為方法1


試著建立一個 UITableView — 前置作業

  • 拉一個新的 TableView Controller 進來
  • 將原有的 ViewController 刪掉,將進入點設給 TableView Controller

選擇 TableView Controller 將 Is Initial View Controller 勾起來

或者也可以將原有的 ViewController 的箭頭移到 TableView Controller

  • 修改 class 為 UITableViewController
  • 修改 Storyboard 中的 class
  • 設置 Cell 的 Identifier

試著建立一個 UITableView — 程式碼

  • 要讓 UITableView 呈現出資料來,還必須實作以下兩個方法:
在一個 Section 中有幾個 Row
回傳 Cell 的樣式及使用
  • 試著呈現 Array 裡的資料:

額外學習

  • IndexPath 就像資料的地址一樣
Photo on Raywenderlich.com
  • 若以 TableViewController 為基底,則系統已自動幫我們與 DataSource、Delegate 建立連結(使用 ViewController 則須自行在 class 遵循兩者或使用 extension)
  • DataSource 提供 Data 給 TableView
  • Delegate 則讓我們有方法調整 TableView
  • 實作打勾及取消打勾、調整選取反灰(原本按下後不會恢復白色)
  • 操縱 Cell 裡物件的方法(目前自己會的三種方法):
  1. 將該物件設置 Tag,使用 viewWithTag 操縱
  2. 建立一個 UITableViewCell 檔案,將 Storyboard 的 Cell 的 Class 調整為該檔案,並將物件與之建立連結(下為範例,運用 Xib 也與此類似)
將物件與 UITableViewCell 建立連結
在 cellForRowAt 進行轉型則可操控物件
  • ReuseCell 的缺點是沒辦法記著每個資料的狀態(例如打勾了,但滑一滑,打勾的位置會跑掉),後續將學習修正這個

後記

本篇僅為個人筆記,若有錯誤之處煩請各位大大不吝指教。

由於先前已做過一個 To-do List,完整程式碼可觀看我的 GitHub

SHADOW

A Blog About iOS And Life

Lacie

Written by

Lacie

追求成長和有趣的事物,在枯燥無味的人生中,尋找意義。文章目錄集:https://medium.com/do-not-stop-running/%E8%B5%B7%E6%BA%90-%E7%9B%AE%E9%8C%84%E9%9B%86-3e9ef2c46f93

SHADOW

SHADOW

A Blog About iOS And Life

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade