0

I have a table view with a dynamic cell:

extension CarViewController: UITableViewDataSource, UITableViewDelegate { func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return carsArray.count } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let rowData = carsArray[indexPath.row] let cell = tableView.dequeueReusableCell(withIdentifier: "carCell") as! CarCell cell.setButton(name: rowData.name) return cell } func tableView(_ tableView: UITableView, willSelectRowAt indexPath: IndexPath) -> IndexPath? { for n in 0...carsArray.count - 1 { if indexPath.row == n { performSegue(withIdentifier: "goToEditCar", sender: self) } } return indexPath } } 

It works fine, but how can I add a further cell at the bottom of the table view with custom content?

1
  • table view provides header footer functionality as well. so, you can add a footer view to achieve your goal. Commented May 18, 2019 at 23:02

1 Answer 1

1

You can try

Option 1:

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return carsArray.count + 1 } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { if indexPath.row < carsArray.count { let rowData = carsArray[indexPath.row] let cell = tableView.dequeueReusableCell(withIdentifier: "carCell") as! CarCell cell.setButton(name: rowData.name) return cell } else { // implement the last cell } } 

Option 2:

func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? { let footerView = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.size.width, height: 50)) return footerView } func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat { return 50 } 
Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.