动画移动和缩放图像UIButton

时间:2010-04-12 04:40:20

标签: iphone uiimageview uiimage uibutton

我希望它能够动画,所以我正在使用[UIView beginAnimations]

我尝试使用button.imageView.frame设置动画(图像设置为imageView),但它只会动画显示位置,图像根本不会缩小。

使用hateButton.frame(当图像设置为backgroundImage时),backgroundImage会缩小,但不会设置动画。

如何动画缩放UIButton图像?

2 个答案:

答案 0 :(得分:5)

您可以在layoutIfNeeded[UIView beginAnimations]之间或[UIView commintAnimations]之间致电[UIView animateWithDuration]

[UIView animateWithDuration:0.3f animations:^{
    self.myButton.frame = aFrame;    
    [self.myButton layoutIfNeeded];
 }];

答案 1 :(得分:3)

我可以使用Quartz 2D来实现这个目标:

// move anchor point without moving frame
CGRect oldFrame = hateButton.frame;
hateButton.layer.anchorPoint = CGPointMake(0, 1); // bottom left
hateButton.frame = oldFrame;

[UIView beginAnimations:nil context:NULL];  
CGAffineTransform newTransform;
newTransform = CGAffineTransformMakeScale(0.8, 0.8);
hateButton.transform = CGAffineTransformTranslate(newTransform, 0, -160);
[UIView commitAnimations];

确保您也导入Quartz2D:

#import <QuartzCore/QuartzCore.h>