UIView animation innerhalb UITableViewCell
Im der Entwicklung einer iOS-app, hat in einer Ansicht ein UITableView
mit zwei benutzerdefinierten UITableViewCell
. All dies mit einem Haupt-storyboard.
Alles funktioniert ziemlich gut. Aber was ich implementieren müssen, ist ein einzelnes fade-in/fade-out-animation in einem UIView
aus nur eine Zelle.
Derzeit Im mit eine Sie diesen code zu animieren anzeigen:
[UIView animateWithDuration:1.2
delay:0
options:UIViewAnimationOptionAutoreverse | UIViewAnimationOptionRepeat | UIViewAnimationOptionCurveEaseInOut animations:^{
self.myView.alpha = 0;
} completion:^(BOOL finished) {
self.myView.alpha = 1;
}];
In einer "set-Inhalt" - Methode, die rufe ich in der tableView:cellForRowAtIndexPath:
Datenquelle Methode der UITableView
.
Den Animationen funktioniert. Auch wenn ein Wechsel zwischen den Ansichten die Ansicht noch animieren. Mein problem ist, wenn ich neu laden der Daten aus der Tabelle anzeigen die Tabelle oder Ansicht scrollt nach oben oder unten, bis die Zelle mit der animation verschwinden und es hat die Wiederverwendung der Zelle wieder zu zeigen, in diesem moment die Zelle präsentiert wird, keine animation.
Was übersehe ich hier? Gibt es eine bessere Möglichkeit dies umzusetzen? Wie kann ich starten Sie die animation nach dem table-view verwendet die Zelle?
Ich denke, ist wichtig, um zu bemerken, dass nach meiner UI-design nur einer einzigen Zelle wird die animation.
Dank.
InformationsquelleAutor Fernando Reynoso | 2015-04-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, Sie sollten implementieren Sie eine weitere
delegate
Methode derUITableView
-& führen Sie Ihre Animationen auf die jeweilige Sicht der jeweiligen Zelle drin.
Den unter Methode wird jedesmal aufgerufen, wenn die Zelle angezeigt wird, (auch im Fall, wenn es geht aus dem TableView Rahmen und kommt zurück in den sichtbaren Bereich)
reloadData
Methode. Vielen Dank für Ihre Antwort und auch übertableView:didEndDisplayingCell:forRowAtIndexPath:
Methode, um die animation anzuhalten, weil es scheint, dass es auch Probleme verursacht.In willDisplayCell: wenn Sie zu animieren, den Blick für 1.2 Sekunden, als nach dieser Dauer ist über animation wird automatisch beendet, eigentlich wollte ich nicht verstehen den Einsatz von tableView:didEndDisplayingCell:forRowAtIndexPath: Methode. Ich muss wissen, die Verwendung von es, können Sie bitte elobrate ein wenig auf Sie, vielen Dank.
Im benutze es zum entfernen der animation aus der Sicht, weil ich erkannte, dass, wenn die animation unterbrechen, startet es nicht wieder.
wird die Anzeige der Zelle funktioniert jedes mal, wenn die Zelle geladen wird, können wir tun es nur einmal und stoppen? Betrachten Sie eine Fortschritt-bar in der UITableViewCell. Laden Sie einfach einmal und dann stop @SanjayMohnani
InformationsquelleAutor Sanjay Mohnani
Als in swift 4 Sie können diese animation verwenden
InformationsquelleAutor Jack