第一個實作永遠都是要來個TableView.
利用Stack View來客製化Cell
按著Command
選取紅色匡中的三個Label先按下底下Stack的按鈕, 並透過調整檢視器中的”Spacing”來調整各個Label之間的間距.
再將這三個Label跟ImageView合成一個Stack.
建立連結
IBOutlet:用來指出可以和Storyboard中的視圖物件連結的屬性
IBAction:可能經由某個事件所觸發的動作方法
@IBOutlet var thumbnailImageView: UIImageView!
@IBOutlet var nameLabel: UILabel!
@IBOutlet var locationLabel: UILabel!
@IBOutlet var typeLabel: UILabel!
將Cell的ImageView改成圓形
每一個UIKit的視圖(ex. UIView, UIImageView…)的背後都是CALayer類別的實體, 這些物件主要設計作為視圖背後的管理以及處理視圖相關動畫.
cell.thumbnailImageView.image = UIImage(named: restaurantImages[indexPath.row])
cell.thumbnailImageView.layer.cornerRadius = 30.0
cell.thumbnailImageView.clipsToBounds = true
Note
ViewController的箭頭不見得話, 可以勾選“Is initial View….”.
as! & as?
向下轉型可以讓你轉換一個類別的值至其衍生的類別.
ex.tableView.dequeueReusableCellWithIdentifier
理論上會回傳標準的TableViewCell但如果你使用自訂的Cell. 就需要經過轉型.
如果你清楚轉換後的內容為何則可以使用 as!
. 如果不清楚某個型態的值是否可以轉換至另一個則使用as?
.
假如設定都正常且code都打完了, 但是就是沒有值出現在cell中. 請確認Storyboard是否有建立連結.
UITableView Protocol
UITableViewDataSource: 定義了處理表格資料的方法.
UITableViewDelegate: 專門處理UITableView section的heading 和 footer還有表格列的選擇與Cell的排序.閱讀文件
將滑鼠移到一個類別或是協定上, 然後按下CMD
+Ctrl
+? 就會彈出一個視窗.
沒有留言:
張貼留言