Swift: анимировать расширяющиеся строки в UITableView?
В настоящее время у меня есть UITableView со строкой, возвращающей 0.0, которая затем расширяется, когда пользователь нажимает кнопку "показать больше". Когда это происходит, строка выше возвращает определенное значение в зависимости от высоты контейнера, что происходит немедленно. То, что я хотел бы сделать, - это создать какую-то анимацию, будучи расширенной / уменьшенной.
Вот мой код на данный момент:
override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
if indexPath.row == 2 && self.numberOfElements >= 2 {
if detailsVisible == false {
self.showMoreLabel.text = "Show more (\(self.numberOfElements - 1))"
return 0.0
}
else {
self.showMoreLabel.text = "Show less"
return embedKonteringHeight
}
}
}
Где var detailsVisible возвращает логическое значение, если отображается расширяемый контент или нет.
Есть ли простой способ оживить это? Я думал о чем-то вроде простого счетчика увеличения / уменьшения, который возвращается heightForRowAtIndexPath в течение интервала.
1 ответ
Итак, после некоторого исследования я нашел метод, который работает очень хорошо. Я опубликую это здесь в случае, если кто-то хочет знать ответ.
В didSelectRowAtIndexPath мне просто нужно было заменить
tableView.reloadData()
с
tableView.beginUpdates()
tableView.endUpdates()