// 遵守协议
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)
}
原文链接:https://www.f2er.com/swift/321846.html