我有2个原型动态单元,名为InvoiceDetailCell和TotalCostFooterCell。我使用viewForFooterInSection
将TotalCostFooterCell作为页脚单元格视图。这是我用来将数据分配给UITableView
这是我在UITableViewController中的代码。
extension InvoiceDetailVC : UITableViewDataSource {
// MARK: - UI Table View Datasource Methods
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return invoiceElements.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "InvoiceDetailCell", for: indexPath) as! InvoiceDetailCell
cell.invoiceElementData = invoiceElements[indexPath.row]
return cell
}
}
extension InvoiceDetailVC : UITableViewDelegate {
// MARK: - UI Table View Delegate Methods
func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
let cell = tableView.dequeueReusableCell(withIdentifier: "invoiceDetailFooterCell") as! TotalCostFooterCell
cell.totalCost = singleInvoiceData.unpaid
return cell
}
}
但结果并不像我预期的那样,我的意思是页脚单元是粘/不移动。这是.gif文件:http://g.recordit.co/vf0iwCfEWX.gif
你可以看到总成本(红色)是粘性/静态的,我希望页脚单元格可以滚动并始终在底部。或者我是否有错误实施我想要的东西?
答案 0 :(得分:1)
将表格样式分组
你可以用两种方式做到:
答案 1 :(得分:0)
难道你不能把它作为表格视图的最后一行吗?我的意思是,视图已经是一个表视图单元格,所以将它用作最后一行是有意义的。
首先改变这个:
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return invoiceElements.count + 1
}
然后是cellForRowAt
:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if indexPath.row == invoiceElements.count {
let cell = tableView.dequeueReusableCell(withIdentifier: "invoiceDetailFooterCell") as! TotalCostFooterCell
cell.totalCost = singleInvoiceData.unpaid
return cell
}
let cell = tableView.dequeueReusableCell(withIdentifier: "InvoiceDetailCell", for: indexPath) as! InvoiceDetailCell
cell.invoiceElementData = invoiceElements[indexPath.row]
return cell
}
答案 2 :(得分:0)