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.