TableView這個元件可以讓很多不同的資料一次顯示出來。
不過,系統預設的 UITableViewCell
功能有限,只能顯示單一標籤或圖示。如果我們想要自訂樣式,就需要另外建立一個自訂的 TableViewCell
。
步驟如下:
1.在 Xcode → New File → Cocoa Touch Class
2.選擇 Subclass of:UITableViewCell
3.勾選 Also create XIB file
,讓它同時幫我們產生 .xib
介面檔案。
我們只需要一個 Label
來顯示留言內容即可。
@IBOutlet weak var lbData: UILabel!
一樣去做宣告。
為了讓留言可以顯示多行文字,而不是只顯示一行,我們在 awakeFromNib()
裡加入設定:
// 讓TableView不限行顯示
override func awakeFromNib(){
super.awakeFromNib()
lbData.numberOfLines = 0
}
這樣一來,即使留言內容很長,也可以完整顯示。
在 TableView
中,Cell
會被重複使用以節省記憶體,因此我們需要設定一個識別名稱:
// 讓TableViewCell可以重複使用
static let identifier = "MainTableViewCell"
之後在 Controller
中註冊與取用這個 Cell 時,就能透過這個識別字串找到它。
由於 Cell
是重複利用的,舊資料可能會殘留在畫面上,所以我們需要在 setSelected
裡面做清理或額外設定:
// 重複使用前先清空內容
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
我們今天做好了 UITableViewCell
來顯示留言內容。