Niespójny wynik animacji UIView

Próbuję użyć animacji UIView, aby przesuwać moje widoki na ekranie. Mam kontroler UIScrollView w moim widoku kontrolera, w którym mam swoje UIViews.

Mam też tę metodę:

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

Nazywam to, aby przenieść mój UIView w animowany sposób do wybranego CGRect w określonym czasie. Mam pętlę, która tworzy i przesuwa 7 widoków. To działa świetnie, nazywam to jak poniżej, pętla oczywiście nazywająca to 7 razy w różnych widokach:

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

Jednak nie mogę tego wywołać natychmiast po tym, nic się nie dzieje. Chociaż, powiedzmy, że wywołam to ponownie po 2 sekundach NSTimer, animacja się uruchomi, ale wtedy, gdy przewijam UIScrollView, widok, który właśnie animowałem, wraca do poprzedniego CGRect.

questionAnswers(1)

yourAnswerToTheQuestion