Смена кадра с анимацией

Я создаю анимацию:

NSArray *animationArr=[[NSArray alloc] initWithObjects:
                        [UIImage imageNamed:@"FirstPosition@2x"],
                        [UIImage imageNamed:@"SecondPosition@2x"],nil];

    [self.animatView setAnimationImages:animationArr];
    [self.animatView setAnimationDuration:2.4];
    [self.animatView setAnimationRepeatCount:1];
    [self.animatView startAnimating];

Это работает, но мне нужно изменить animatView позиция. Как я могу это сделать? Для первого изображения и для второго кадра будет отличаться.

Есть идеи?

Если это группа анимаций, как я могу изменить кадр для каждой анимации?

Спасибо за помощь!

Редактировать № 1:

Я использую это для трех изображений, но это не работает нормально. Сначала это смена кадра, затем работа первой анимации.

CGRect animatFrame = self.animatView.frame;

[UIView animateWithDuration:self.animatView.animationDuration
                     animations:^{

                         self.animatView.frame = CGRectMake(self.animatView.frame.origin.x + 5.5 / 2.0, self.animatView.frame.origin.y + 28.5 / 2.0, self.animatView.frame.size.width, self.animatView.frame.size.height);
                         self.animatView.frame = CGRectMake(self.animatView.frame.origin.x - 14.0 / 2.0, self.animatView.frame.origin.y - 6.5 / 2.0, self.animatView.frame.size.width, self.animatView.frame.size.height);

                     }
                     completion:^(BOOL finished){

                         self.animatView.frame = animatFrame;

                     }];
    [UIView commitAnimations];

1 ответ

Решение

С тем, как вы делаете анимацию, я не думаю, что это возможно. Но вы можете сделать это с UIView анимационные блоки, такие как:

[UIView animateWithDuration:<#(NSTimeInterval)#> animations:^{
    <#code#>
}]; 
Другие вопросы по тегам