ios增长动画CGAffineTransformMakeScale四处移动

时间:2013-09-28 02:06:11

标签: iphone ios objective-c animation

我正在制作一棵长大的树。像树一样,我希望我的UIImage保持在同一个地方,所以当我扩展它时,它似乎会增长。

现在它的跳跃,即它从中心开始 - 我需要它从底部生长。

有没有办法设置动画的原点/基础。所以缩放动画从底部开始。

希望这是有道理的。这是我的代码:

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
tree.transform = CGAffineTransformMakeScale(1.0f, 1.25f);
[UIView commitAnimations];

1 个答案:

答案 0 :(得分:3)

您可能希望查看 CALayer 类,并将anchorPoint设置为centerbottom

- (void)viewDidLayoutSubviews
{
    self.outletTestView.layer.anchorPoint = CGPointMake(0.5, 1.0);
    self.outletTestView.layer.position = CGPointMake(100, 300);
}

不要忘记包括:

#import <QuartzCore/QuartzCore.h>

用于缩放:

CGAffineTransform CGAffineTransformScale ( CGAffineTransform t, CGFloat sx, CGFloat sy );

像这样:

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
tree.transform = CGAffineTransformScale(tree.transform, 1.0f, 1.25f);
[UIView commitAnimations];