UIView animateWithDuration干扰其他CGRectMake

时间:2013-01-10 10:45:58

标签: iphone objective-c uiview uiviewanimation

我有CGRectMake用于将图片跳转到其他位置

image.frane=CGRectMake( x,y,w,h);

然后我想将Label(在同一个ViewController上)翻译并缩放到另一个位置

CGPoint newCenter = CGPointMake(x,y);
[UIView animateWithDuration: 1.0
    delay: 0
    options: 0
    animations:^{label.center = newCenter ; label.transform = CGAffineTransformScale(CGAffineTransformIdentity, 0.2, 0.2);}
                     completion:^(BOOL finished) {
                         label.transform = CGAffineTransformMakeScale(1.0, 1.0);
                         label.alpha = 0;
    }
];

我遇到的问题是,当我使用animateWithDuration时,图片不会移动,但Label会移动。如果我注释掉动画,图像会再次移动。我做错了吗?

1 个答案:

答案 0 :(得分:0)

试试下面的代码...

[UIView animateWithDuration:1.0f animations:^{
    imageView.frame = CGRectMake(newCenter.x, newCenter.y, imageView.frame.size.width, imageView.frame.size.height);
}];

此外,您可以使用以下代码移动UIImageView或其他任何内容...我在键盘出现时使用此代码滚动UIScrollView ..我添加了您的要求代码..

UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0f];
imageView.frame = CGRectMake(newCenter.x, newCenter.y, imageView.frame.size.width, imageView.frame.size.height);
[UIView commitAnimations];

我希望这对你有帮助......