Swift

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
    }
}
原文地址:https://www.cnblogs.com/Free-Thinker/p/4843319.html