Inkonsistentes Ergebnis für UIView-Animation

Ich versuche, mithilfe der UIView-Animation meine Ansichten über den Bildschirm zu schieben. Ich habe eine UIScrollView in meinem View Controller, in der ich meine UIViews habe.

Ich habe auch diese Methode:

-(void)translateView:(UIView *)view toRect:(CGRect)rect withDuration:(CGFloat)duration
{
    [UIView animateWithDuration:duration
    animations:^
    {
        view.frame = rect;
    }
    completion:^(BOOL finished)
    {
        //Finished
    }];
}

Ich rufe dies auf, um mein UIView über einen bestimmten Zeitraum auf ein CGRect meiner Wahl zu verschieben. Ich habe eine Schleife, die 7 Ansichten erstellt und herausgleitet. Das funktioniert großartig, ich nenne es wie folgt, die Schleife ruft dies natürlich 7 Mal in verschiedenen Ansichten auf:

[self translateView:cell toRect:translationRect withDuration:0.7];

Das kann ich dann aber nicht gleich wieder aufrufen, es passiert einfach nichts. Angenommen, ich rufe dies nach einem 2-Sekunden-NSTimer erneut auf. Die Animation wird ausgeführt. Wenn ich dann in UIScrollView einen Bildlauf durchführe, springt die soeben animierte Ansicht zu ihrem vorherigen CGRect zurück.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage