我创建了一个动画:
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];
答案 0 :(得分:2)
通过你制作动画的方式,我认为不可能。但你可以用UIView
动画块来做到这一点,如:
[UIView animateWithDuration:<#(NSTimeInterval)#> animations:^{
<#code#>
}];