Добавить нижнюю ячейку в динамическое табличное представление - PullRequest
0 голосов
/ 19 мая 2019

У меня есть табличное представление с динамической ячейкой:

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
    }
}

Это нормально работает, но как добавить еще одну ячейку внизу табличного представления с пользовательским содержимым?

1 Ответ

1 голос
/ 19 мая 2019

Вы можете попробовать

Вариант 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 
  }
}

Вариант 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
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...