// 遵守协议
class ViewController: UIViewController,UITableViewDelegate,UITableViewDataSource{
override func viewDidLoad() {
super.viewDidLoad()
setUpUI()
}
// 创建UITableView
func setUpUI() {
// 1 创建表格
let tableView = UITableView(frame: view.bounds, style: .plain)
//2 设置代理
tableView.delegate = self
tableView.dataSource = self
// 3 添加到视图上
view .addSubview(tableView)
// 4 注册cell
tableView.register(UITableViewCell.self, forCellReuseIdentifier: "cell_id")
}
// 实现代理方法
// MARK: - 实现tableVIew的代理方法
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 20
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 50
}
func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return 0.0001
}
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 0.0001
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell_id", for: indexPath)
cell.textLabel?.text = "这是第\(indexPath.row)行"
return cell
}
// 遵守协议
class CollectionViewController: UIViewController ,UICollectionViewDelegateFlowLayout,UICollectionViewDelegate,UICollectionViewDataSource{
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = UIColor.white
setUpUI()
}
// 创建 UICollectionView
func setUpUI() {
let layout = UICollectionViewFlowLayout()
let collectionView = UICollectionView(frame: view.bounds, collectionViewLayout: layout)
collectionView.backgroundColor = UIColor.white
collectionView.delegate = self
collectionView.dataSource = self;
view.addSubview(collectionView)
collectionView.register(UICollectionViewCell.self, forCellWithReuseIdentifier: "cell_id")
}
// 实现代理方法
func numberOfSections(in collectionView: UICollectionView) -> Int {
return 1
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 20
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell_id", for: indexPath)
cell.backgroundColor = UIColor.green
return cell
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
return CGSize(width: 100, height: 100)
}