1

アニメーションを作成します:

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動作していますが、位置を変更する必要があります。どうやってやるの?最初の画像と 2 番目のフレームは異なります。

何か案は?

アニメーションのグループの場合、アニメーションごとにフレームを変更するにはどうすればよいですか?

手伝ってくれてありがとう!

編集#1

3 つの画像をアニメーション化するには、これを使用しますが、うまく動作しません。最初にフレームを変更してから、最初のアニメーションを実行します。

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];
4

1 に答える 1

2

あなたのアニメーションのやり方では、それは不可能だと思います。UIViewしかし、次のようなアニメーション ブロック でそれを行うことができます。

[UIView animateWithDuration:<#(NSTimeInterval)#> animations:^{
    <#code#>
}]; 
于 2013-09-04T05:33:24.197 に答える