UITableView底部的静态单元格

时间:2017-11-23 00:47:36

标签: ios uitableview cocoa-touch

我有一个充满联系人的表格视图。在表格视图的最底部(在最后一次联系之后),我希望有一个静态表格视图单元格,它始终存在自定义内容。

我该如何做到这一点?

2 个答案:

答案 0 :(得分:0)

可以说,您用来填充UITableView的阵列名为' contactsArray'。

在以下委托方法中您需要做的是添加一行,例如:

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

    return contactsArray+1

}

然后你需要处理这个逻辑,例如:

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

if indexPath.row >= contactsArray.count{
        print("Last Row")
    }
} 

答案 1 :(得分:0)

以下是例子:

override func viewDidLoad() {
    super.viewDidLoad()

    let button = UIButton.init()
    button.frame = CGRect.init(x: 0, y: 0, width: 100, height: 44)
    button.setTitle("✚", for: .normal)
    button.titleLabel?.font = UIFont.boldSystemFont(ofSize: 30)
    button.setTitleColor(UIColor.darkGray, for: .normal)
    button.addTarget(self, action: #selector(handle(sender:)), for: .touchUpInside)

    self.tableView.tableFooterView = button
}

及相关功能:

func handle(sender: UIButton) {
    print("Tapped")
}

结果如下:

enter image description here

另一种方式!我们可以使用UITableViewDelegate来实现。以下是我们如何完成的示例。

    override func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {

        let button = UIButton.init()
        button.frame = CGRect.init(x: 0, y: 0, width: 100, height: 44)
        button.setTitle("✚", for: .normal)
        button.titleLabel?.font = UIFont.boldSystemFont(ofSize: 30)
        button.setTitleColor(UIColor.darkGray, for: .normal)
        button.addTarget(self, action: #selector(handle(sender:)), for: .touchUpInside)

        return button
    }

    override func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
        return 44
    }


    func handle(sender: UIButton) {
        print("Tapped")
    }

注意:第二个选项在主屏幕上始终可见,如节标题。