UIView动画ImageView的框架

时间:2013-05-18 17:54:38

标签: iphone ios animation uiview frame

我正在尝试在点击按钮时向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向右移动一点,然后再向后移动。奇怪的行为,我应该怎样做同时动画大小和原点?

1 个答案:

答案 0 :(得分:1)

问题是你已经开启了Autolayout。使用Autolayout,您无法更改某些内容的框架,因为布局会再次出现并再次更改。

关闭Autolayout,或者通过更改此视图的约束而不是其框架来设置动画。