首先在你的 Main.StoryBoard 先拉 tableview 和 talbleviewcell
再新創一個 tableviewcell.swift 和 collectionviewcell 記得都要勾選 XIB 喔 ,在點擊 tableviewcell.XIB 裡拉一個 collectionview
collectionviewcell.XIB 隨便拉一個圖片
再回到 tableviewcell.swift 在代理 UICollectionViewDelegate , UICollectionViewDataSource
class TableViewCell: UITableViewCell,UICollectionViewDelegate,UICollectionViewDataSource
當加入兩個代理時會加入兩個 func
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 10
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell :CollectionViewCell = myCollectionView.dequeueReusableCell(withReuseIdentifier: cellID, for: indexPath) as! CollectionViewCell
return cell
}
在 class 下方
let cellID = String(describing: CollectionViewCell.self)
override func awakeFromNib() 裡加入
myCollectionView.dataSource = self
myCollectionView.delegate = self
myCollectionView.register(UINib(nibName: "CollectionViewCell", bundle: nil), forCellWithReuseIdentifier: cellID)
這時我們會到 viewcontroller 給代理 UITableViewDelegate ,UITableViewDataSource
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell:TableViewCell = tableview.dequeueReusableCell(withIdentifier: cellID, for: indexPath) as! TableViewCell
cell.myCollectionView.reloadData()
return cell
}
let cellID = String(describing: TableViewCell.self)
在viewDidLoad裡
tableview.delegate = self
tableview.dataSource = self
tableview.register(UINib(nibName: "TableViewCell", bundle: nil), forCellReuseIdentifier: cellID)
若你的 collectionview 想改直滑或橫滑點 scroll dirction 修改喔