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 } }
如果给两个两个分区分别用代码添加页眉页脚呢?