Wie zu stoppen und umzukehren einen UIView animation?

Habe ich animiert ein UIView, so dass es schrumpft, wenn der Benutzer berührt ein toggle-button und es dehnt sich wieder auf seine ursprüngliche Größe, wenn der Benutzer berührt die Taste erneut. So weit funktioniert alles Prima. Das problem ist, dass die animation dauert einige Zeit - z.B. 3 Sekunden. Während dieser Zeit will ich noch die Benutzer werden in der Lage zu interagieren mit dem interface. Also, wenn der Benutzer berührt die Taste erneut, während die animation noch im Gange ist, die animation stoppen soll, wo es ist und Umgekehrt.

In der Apple-Q&ich haben einen Weg gefunden, um pause alle Animationen sofort:

https://developer.apple.com/library/ios/#qa/qa2009/qa1673.html

Aber ich sehe nicht, einen Weg zur Umkehrung der animation von hier (und lassen den rest der ersten animation). Wie kann ich dies erreichen?

- (IBAction)toggleMeter:(id)sender {
    if (self.myView.hidden) {        
        self.myView.hidden = NO;
        [UIView animateWithDuration:3 animations:^{
            self.myView.transform = expandMatrix;
        } completion:nil];
    } else {
        [UIView animateWithDuration:3 animations:^{
            self.myView.transform = shrinkMatrix;
        } completion:^(BOOL finished) {
            self.myView.hidden = YES;
        }];
    }
}

InformationsquelleAutor der Frage Mischa | 2013-04-30

Schreibe einen Kommentar