Смена кадра с анимацией
Я создаю анимацию:
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#>
}];