Swift - 给表格TableView添加页眉和页脚
(本文代码已升级至Swift3)
效果图如下:

代码如下:
import UIKit
class ViewController: UIViewController,UITableViewDelegate,
UITableViewDataSource,UIGestureRecognizerDelegate {
var tableView:UITableView?
var ctrlnames:[String] = ["UILabel 标签","UIButton 按钮","UIDatePiker 日期选择器"]
override func viewDidLoad() {
super.viewDidLoad()
//创建表视图
self.tableView = UITableView(frame:self.view.frame, style:.plain)
self.tableView!.delegate = self
self.tableView!.dataSource = self
//创建一个重用的单元格
self.tableView!.register(UITableViewCell.self,
forCellReuseIdentifier: "SwiftCell")
self.view.addSubview(self.tableView!)
//给TableView添加表头页眉
let headerView:UIView = UIView(frame:
CGRect(x:0, y:0, width:tableView!.frame.size.width, height:60))
let headerlabel:UILabel = UILabel(frame: headerView.bounds)
headerlabel.textColor = UIColor.white
headerlabel.backgroundColor = UIColor.clear
headerlabel.font = UIFont.systemFont(ofSize: 16)
headerlabel.text = "TableView 页眉"
headerView.addSubview(headerlabel)
headerView.backgroundColor = UIColor.black
tableView?.tableHeaderView = headerView
//给TableView添加表头页尾
let footerView:UIView = UIView(frame:
CGRect(x:0, y:0, width:tableView!.frame.size.width, height:60))
let footerlabel:UILabel = UILabel(frame: footerView.bounds)
footerlabel.textColor = UIColor.white
footerlabel.backgroundColor = UIColor.clear
footerlabel.font = UIFont.systemFont(ofSize: 16)
footerlabel.text = "TableView 页脚"
footerView.addSubview(footerlabel)
footerView.backgroundColor = UIColor.black
tableView?.tableFooterView = footerView
}
//在本例中,只有一个分区
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
//返回表格行数(也就是返回控件数)
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.ctrlnames.count
}
//创建各单元显示内容(创建参数indexPath指定的单元)
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath)
-> UITableViewCell {
//为了提供表格显示性能,已创建完成的单元需重复使用
let identify:String = "SwiftCell"
//同一形式的单元格重复使用,在声明时已注册
let cell = tableView.dequeueReusableCell(
withIdentifier: identify, for: indexPath) as UITableViewCell
cell.accessoryType = .disclosureIndicator
cell.textLabel?.text = self.ctrlnames[indexPath.row]
return cell
}
}

如果给两个两个分区分别用代码添加页眉页脚呢?