在视图控制器中
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var tableView: UITableView!{
didSet{
tableView.delegate = self
tableView.dataSource = self
tableView.register(UINib(nibName: "TableViewCell", bundle: nil), forCellReuseIdentifier: TableViewCell.cellId)
}
}
override func viewDidLoad() {
super.viewDidLoad()
}
}
extension ViewController : UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 5
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: TableViewCell.cellId, for: indexPath) as! TableViewCell
return cell
}
}
在TableViewCell文件中
import UIKit
class TableViewCell: UITableViewCell {
static let cellId = "TableViewCell"
@IBOutlet weak var collectionView: UICollectionView! {
didSet{
collectionView.delegate = self
collectionView.dataSource = self
collectionView.register(UINib(nibName: "CollectionViewCell", bundle: nil), forCellWithReuseIdentifier: CollectionViewCell.cellId)
}
}
override func awakeFromNib() {
super.awakeFromNib()
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
}
}
extension TableViewCell : UICollectionViewDelegate, UICollectionViewDataSource {
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 5
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: CollectionViewCell.cellId, for: indexPath) as! CollectionViewCell
cell.labelThing.text = "samples text"
return cell
}
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
print("Hello world")
}
}
在CollectionView文件中
import UIKit
class CollectionViewCell: UICollectionViewCell {
static let cellId = "CollectionViewCell"
@IBOutlet weak var labelThing: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
}
}
UITableView
的单元格正在取消集合视图的点击。 - gabriel_vincent