0

これは私のコードです:

CABasicAnimation *animation = [CABasicAnimation 
                               animationWithKeyPath:@"transform.scale"];
[animation setFromValue:[NSNumber numberWithFloat:1.0f]];
[animation setToValue:[NSNumber numberWithFloat:3.0f]];
[animation setDuration:0.8];
[animation setRemovedOnCompletion:NO];
[animation setFillMode:kCAFillModeForwards];
[imageView.layer addAnimation:animation forKey:@"scale"];

[imageView setFrame:nowRect];

imageViewフレームをnowRectに設定すると、imageViewのレイヤーが再び大きくなるため、これは正しくないことがわかりました。

4

1 に答える 1

1

これを試してみてください。最初にviewDidLoad...で画像サイズを設定します。

例:この例では、aとbは最初に必要なサイズです...

imageForAnimate.frame=CGRectMake(imageForAnimate.frame.origin.x, imageForAnimate.frame.origin.y, a, b); 

次に、このコードを必要な領域に追加する必要があります...

 [UIView animateWithDuration:0.8 animations:^{
        imageForAnimate.frame=CGRectMake(imageForAnimate.frame.origin.x, imageForAnimate.frame.origin.y, a*3, b*3);


    }]; 

これが解決に役立つことを願っています...。

于 2012-09-04T03:16:10.593 に答える