我希望它能够动画,所以我正在使用[UIView beginAnimations]
我尝试使用button.imageView.frame
设置动画(图像设置为imageView),但它只会动画显示位置,图像根本不会缩小。
使用hateButton.frame
(当图像设置为backgroundImage时),backgroundImage会缩小,但不会设置动画。
如何动画缩放UIButton图像?
答案 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>