Ich habe eine ViewController
mit einer tableView
und eine versteckte UIView
.reloadData auf TableView und führen Sie eine UIView-Animation von LayoutIfNeeded bricht Layout
Wenn der Benutzer auf eine Schaltfläche tippen ich will:
- laden Sie die Tabelle
- präsentieren die verborgene Ansicht mit
Autolayout
Also im Grunde den Code Animieren ist:
self.tableView.reloadData()
bottomContsraint.update(offset: 50)
UIView.animate(withDuration: 0.6,
delay: 0.0,
usingSpringWithDamping: 0.9,
initialSpringVelocity: 0.4,
options: .curveEaseInOut,
animations: {
self.view.layoutIfNeeded()
}) { }
das problem ist, dass meine zellen auch animieren, wenn die hiden ansicht sh ow up, ich denke, es ist wegen self.view.layoutIfNeeded()
können wir layoutIfNeeded()
anrufen und auch self.tableView.reloadData()
ohne verkabelte Animation auf den Tabellenansicht Zellen?
Sie könnten wahrscheinlich 'self.tableView.layoutIfNeeded()' zuerst aufrufen, um zu verhindern, dass es während der Animation erneut ausgeführt wird. – Sulthan
ist nicht self.view die UITableView auf einem UITableViewController? Ich denke, Sie verweisen möglicherweise auf die falsche Ansichtseigenschaft. –