Установить пользовательский вид таблицы футер с SWIFT
Я пытаюсь установить пользовательский нижний колонтитул, чтобы мой вид таблицы. Я создал нижний колонтитул в файле 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
?
3 ответов
Implement-delegate & datasource для вашего 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
}
/ / во-первых, вам нужно вызвать делегат и источник данных представления таблицы. я.е:
tableView.delegate = self
tableView.dataSource = self
//вам нужно вызвать этого делегата
func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return "your expected footer height"
}
Swift 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
}