UITableView常用的方法
创建代理
var dataSource: UITableViewDataSource?
UITableViewDataSource必须实现的方法有两个
1.返回每个分区中cell的个数
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
2.返回TableViewCell的方法
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = UITableViewCell(style: .value2, reuseIdentifier: nil)
cell.textLabel?.text = "textLabel"
cell.detailTextLabel?.text = "detailTextLabel"
cell.imageView?.image = UIImage(named: "cat4.jpg")
//赋值UIControl的子类作为辅助视图
cell.accessoryView = UISwitch()
cell.accessoryView = accView
return cell
}
UITableViewDelegate常用的方法
选中cell后触发的方法
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
//例如跳转页面可以在此方法中写
self.navigationController?.pushViewController(next, animated: true)
}
其他常用的方法
3.返回TableView有多少分区,默认不设置这个方法有一个分区,但是分区的下标是0
func numberOfSections(in tableView: UITableView) -> Int {
return 5
}
4.返回分区的区头的标题
func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
//section存储的是分区的下标
return "区头标题\(section)"
}
5.返回分区的尾部(区尾)的标题
func tableView(_ tableView: UITableView, titleForFooterInSection section: Int) -> String? {
return "区尾标题\(section)"
}
6.返回右边侧边栏索引的方法
func sectionIndexTitles(for tableView: UITableView) -> [String]? {
return ["0","1","2","3","4"]
}