0

ボタンがタップされたときに UIImageView にアニメーションを追加しようとしています。ボタンがタップされると、サイズが大きくなると同時にimageViewを右に移動させたいと思います。このコードを試してみましたが、imageView のアニメーションが正しくありません。

- (IBAction)bA:(id)sender {
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationCurve:UIViewAnimationCurveLinear];
    [UIView setAnimationDuration:0.5];
    CGRect frame = imageView.frame;
    frame.origin.x = frame.origin.x + 30;
    frame.size.hight = frame.size.hight + 20;
    frame.size.width = frame.size.width + 20;
    imageView.frame = frame;
    [UIView commitAnimations];
}

このコードは、imageView を少し右に移動させてから、再び戻します。奇妙な動作です。サイズと原点の両方を同時にアニメートするにはどうすればよいですか?

4

1 に答える 1

1

問題は、Autolayout がオンになっていることです。Autolayout を使用すると、何かのフレームを変更することはできません。

Autolayout をオフにするか、フレームの代わりにこのビューの制約を変更してアニメーション化します。

于 2013-05-18T18:00:21.193 に答える