У меня есть сгруппированный UITableView с заголовками разделов, и я хочу анимировать, что группа tableview должна анимироваться снизу вверх, возможно ли это сделать?
Попробуй это
@IBOutlet weak var tblVw: UITableView!
func animateTable(tblVW: UITableView) {
tblVW.reloadData()
let cells = tblVW.visibleCells
let tableHeight: CGFloat = tblVW.bounds.size.height
for i in cells {
let cell: UITableViewCell = i as UITableViewCell
cell.transform = CGAffineTransform(translationX: 0, y: tableHeight)
}
var index = 0
for a in cells {
let cell: UITableViewCell = a as UITableViewCell
UIView.animate(withDuration: 1.5, delay: 0.05 * Double(index), options: .allowAnimatedContent, animations: {
cell.transform = CGAffineTransform(translationX: 0, y: 0);
}, completion: nil)
index += 1
}
}
override func viewDidLayoutSubviews() {
animateTable(tblVW: tblVw)
}
это нормально для ячеек, но сначала отображаются заголовки разделов, а затем ячейки отображаются снизу вверх.
Просто измените его на tableView
func animateTable(tableView: UITableView) {
let tableViewHeight: CGFloat = tableView.bounds.size.height
tableView.transform = CGAffineTransform(translationX: 0, y: tableViewHeight)
UIView.animate(withDuration: 1.5, delay: 0.05, options: .allowAnimatedContent, animations: {
tableView.transform = CGAffineTransform(translationX: 0, y: 0);
}, completion: nil)
}
И вы будете перемещать полный tableView, а не только ячейки
Анимировать, начиная с последнего indexPath до первого