Когда обновлять tableView? - PullRequest
       5

Когда обновлять tableView?

0 голосов
/ 25 апреля 2019

Я создаю приложение со списком дел, в котором я использую заголовки своих разделов для отображения информации о процессе. через манипуляции со строками я показываю некоторые значения, касающиеся дел. Но чтобы всегда быть в курсе, я знаю только команду reloadData(). Но это выглядит очень плохо при попытке автоматического удаления строк.

Так что мой вопрос в том, как сделать так, чтобы текст заголовков обновлялся чистым способом, а не через reloadData().

Здесь вы можете пометить свою задачу как выполненную:

alert.addAction(UIAlertAction(title: "Done", style: .default, handler: { (action) in

        if indexPath.section == 0 {
            self.goals.remove(at: indexPath.row)
        } else {
            self.goalsB.remove(at: indexPath.row)
        }
        self.counter+=1
        self.saveDefaults()
        tableView.deleteRows(at: [indexPath], with: .automatic)
    }))

И вот где мой заголовок установлен:

func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
    let label = UILabel()
    label.textColor = UIColor.white
    label.backgroundColor = section == 0 ? UIColor(red: 41 / 255.0, green: 76 / 255.0, blue: 103 / 255.0, alpha: 1.0) : UIColor(red: 235 / 255.0, green: 108 / 255.0, blue: 33 / 255.0, alpha: 0.5)

    if section == 0 {

        label.text = "     \(counter) goals completed / \(goals.count) outstanding"

    }

    return label
}

Ответы [ 2 ]

1 голос
/ 25 апреля 2019

Если вы заранее знаете, какой заголовок конкретного раздела нужно обновить, вы можете использовать метод TableView.reloadSection ().

0 голосов
/ 25 апреля 2019

Вы можете использовать переход API на UIView.

UIView.transition(with: label,
              duration: 0.25,
               options: .transitionCrossDissolve,
               animations: { [weak self] in
                  self?.label.text = "\(counter) goals completed / \(goals.count) outstanding"
         }, completion: nil)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...