// 遵守协议 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) }