UITableView具有var tableHeaderView:UIView?属性和var tableFooterView:UIView?属性,可以通过给其赋值来创建列表TableView的页眉和页脚。
效果图如下:
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | 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: UIScreen .mainScreen().applicationFrame, style: UITableViewStyle . Plain ) self .tableView!.delegate = self self .tableView!.dataSource = self //创建一个重用的单元格 self .tableView!.registerClass( UITableViewCell . self , forCellReuseIdentifier: "SwiftCell" ) self .view.addSubview( self .tableView!) //给TableView添加表头页眉 var headerView: UIView = UIView (frame: CGRectMake (0,0,tableView!.frame.size.width,60)) var headerlabel: UILabel = UILabel (frame: headerView.bounds) headerlabel.textColor = UIColor .whiteColor() headerlabel.backgroundColor = UIColor .clearColor() headerlabel.font = UIFont .systemFontOfSize(16) headerlabel.text = "TableView 页眉" headerView.addSubview(headerlabel) headerView.backgroundColor = UIColor .blackColor() tableView?.tableHeaderView = headerView //给TableView添加表头页尾 var footerView: UIView = UIView (frame: CGRectMake (0,0,tableView!.frame.size.width,60)) var footerlabel: UILabel = UILabel (frame: footerView.bounds) footerlabel.textColor = UIColor .whiteColor() footerlabel.backgroundColor = UIColor .clearColor() footerlabel.font = UIFont .systemFontOfSize(16) footerlabel.text = "TableView 页眉" footerView.addSubview(footerlabel) footerView.backgroundColor = UIColor .blackColor() tableView?.tableFooterView = footerView } //在本例中,只有一个分区 func numberOfSectionsInTableView(tableView: UITableView !) -> Int { return 1; } //返回表格行数(也就是返回控件数) func tableView(tableView: UITableView , numberOfRowsInSection section: Int ) -> Int { return self .ctrlnames.count } //创建各单元显示内容(创建参数indexPath指定的单元) func tableView(tableView: UITableView , cellForRowAtIndexPath indexPath: NSIndexPath ) -> UITableViewCell { //为了提供表格显示性能,已创建完成的单元需重复使用 let identify: String = "SwiftCell" //同一形式的单元格重复使用,在声明时已注册 let cell = tableView.dequeueReusableCellWithIdentifier(identify, forIndexPath: indexPath) as UITableViewCell cell.accessoryType = UITableViewCellAccessoryType . DisclosureIndicator cell.textLabel?.text = self .ctrlnames[indexPath.row] return cell } } |