使用Swift设置自定义表格视图页脚

时间:2017-02-27 10:56:18

标签: ios swift uitableview

我正在尝试将自定义页脚设置为我的表格视图。我在一个nib文件上创建了页脚并创建了一个受控制的页面。

class LoginTableFooter: UITableViewHeaderFooterView

viewDidLoad()我写了这段代码

let footerNib = UINib(nibName: "LoginTableFooter", bundle: nil)
        tableView.register(footerNib, forHeaderFooterViewReuseIdentifier: "LoginTableFooter")

然后我实施了viewForFooterInSection

func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
    let cell = self.tableView.dequeueReusableHeaderFooterView(withIdentifier: "LoginTableFooter")
    let header = cell as! LoginTableFooter

    return cell
}
从未打过

viewForFooterInSection。我也试图实现viewForHeaderInSection,但它也没有被调用。你知道出了什么问题吗?我的表视图中只有一个部分;是否可以/更好地直接在viewDidLoad上设置页脚?

4 个答案:

答案 0 :(得分:10)

实施 - 代表&您的tableview的数据源并设置 - heightForFooterInSection& viewForFooterInSection

tableView.delegate = self
tableView.dataSource = self

// set view for footer
func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
    let footerView = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.size.width, height: 40))
    footerView.backgroundColor = UIColor.blue
    return footerView
}

// set height for footer
func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
    return 40
}

答案 1 :(得分:0)

斯威夫特3 直接使用> viewForFooterInSection

override func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
    let footerView = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.size.width, height: 40))
    footerView.backgroundColor = UIColor.red

    return footerView
  }

答案 2 :(得分:0)

//首先需要调用表视图的委托和数据源。即:

plot(c(0,3), c(0,3), type="n", xlab="x", ylab="y")

a <- 2.3456
b <- 3.4567
c <- 4.5678
d <- 5.6789

Corner_text <- function(text, location = "bottomright"){
  legend(location, legend = text, bty = "o", pch = NA, cex = 0.5, xjust = 0) 
}
Corner_text(sprintf("a = %3.2f m\n b = %3.2f N/m\UB2\n c = %3.2f deg\n d = %3.2f perc", a, b, c, d))

//您需要调用此委托

  tableView.delegate = self
  tableView.dataSource = self

答案 3 :(得分:0)

func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
    let footerView = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.size.width, height: 40))
    footerView.backgroundColor = UIColor.red

    return footerView
  }