標籤:
TableView實現頁首和頁尾
UITableView具有var tableHeaderView:UIView?屬性和var tableFooterView:UIView?屬性,可以通過給其賦值來建立列表TableView的頁首和頁尾。 如下:代碼如下:
1 import UIKit 2 3 class ViewController: UIViewController,UITableViewDelegate, 4 UITableViewDataSource,UIGestureRecognizerDelegate { 5 6 var tableView:UITableView? 7 8 var ctrlnames:[String] = ["UILabel 標籤","UIButton 按鈕","UIDatePiker 日期選取器"] 9 10 override func viewDidLoad() {11 super.viewDidLoad()12 13 //建立表視圖14 self.tableView = UITableView(frame: UIScreen.mainScreen().applicationFrame,15 style:UITableViewStyle.Plain)16 self.tableView!.delegate = self17 self.tableView!.dataSource = self18 //建立一個重用的儲存格19 self.tableView!.registerClass(UITableViewCell.self, forCellReuseIdentifier: "SwiftCell")20 self.view.addSubview(self.tableView!)21 22 //給TableView添加表頭頁首23 var headerView:UIView = UIView(frame: CGRectMake(0,0,tableView!.frame.size.width,60))24 var headerlabel:UILabel = UILabel(frame: headerView.bounds)25 headerlabel.textColor = UIColor.whiteColor()26 headerlabel.backgroundColor = UIColor.clearColor()27 headerlabel.font = UIFont.systemFontOfSize(16)28 headerlabel.text = "TableView 頁首"29 headerView.addSubview(headerlabel)30 headerView.backgroundColor = UIColor.blackColor()31 tableView?.tableHeaderView = headerView32 33 //給TableView添加表頭頁尾34 var footerView:UIView = UIView(frame: CGRectMake(0,0,tableView!.frame.size.width,60))35 var footerlabel:UILabel = UILabel(frame: footerView.bounds)36 footerlabel.textColor = UIColor.whiteColor()37 footerlabel.backgroundColor = UIColor.clearColor()38 footerlabel.font = UIFont.systemFontOfSize(16)39 footerlabel.text = "TableView 頁首"40 footerView.addSubview(footerlabel)41 footerView.backgroundColor = UIColor.blackColor()42 tableView?.tableFooterView = footerView43 }44 45 //在本例中,只有一個分區46 func numberOfSectionsInTableView(tableView: UITableView!) -> Int {47 return 1;48 }49 50 //返回表格行數(也就是返回控制項數)51 func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {52 return self.ctrlnames.count53 }54 55 //建立各單元顯示內容(建立參數indexPath指定的單元)56 func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath)57 -> UITableViewCell58 {59 //為了提供表格顯示效能,已建立完成的單元需重複使用60 let identify:String = "SwiftCell"61 //同一形式的儲存格重複使用,在聲明時登入62 let cell = tableView.dequeueReusableCellWithIdentifier(identify, forIndexPath: indexPath)63 as UITableViewCell64 cell.accessoryType = UITableViewCellAccessoryType.DisclosureIndicator65 cell.textLabel?.text = self.ctrlnames[indexPath.row]66 return cell67 }68 }
iOS開發——UI_swift篇&TableView實現頁首和頁尾