Manchmal, wenn Tabellenansicht Zellen in Animationen, e, g, -[UIView viewWillAppear:animated]
mit -[UITableView reloadData]
erscheinen, die Inhalte in ihnen pop von oben links Ecke (0, 0) zu den letzten Frames . Dieses Problem tritt auch in anderen Ansichtsanimationen auf. Damals gab es dieses Problem nicht. In einem iOS-Update tauchte das Problem auf, aber die Anfangspositionen waren zufällig, normalerweise außerhalb des Bildschirms. In einem anderen iOS-Update wurde das Problem deterministisch, wobei die Anfangsposition (0,0) war.Verhindern von Ansichten von oben links während Animationen unter iOS
Ich habe versucht [tableView layoutIfNeeded]
, [tableView.layer displayIfNeeded]
nach [tableView reloadData]
und diejenigen auf Zellen in cellForRowAtIndexPath
. Was habe ich vermisst?
Ich habe ein Beispielprojekt https://github.com/keithyipkw/ios-animation-bug hochgeladen. Um das Problem zuverlässig zu reproduzieren, setzen Sie einen Haltepunkt bei viewWillAppear, vor reloadData. Ziehen Sie den Bildschirm nach unten, um das heutige Zentrum anzuzeigen. Laufen Sie nach dem heutigen Zentrum voll sichtbar. Auch