1

我正在为一棵正在生长的树制作动画。像一棵树一样,我希望我的 UIImage 保持在同一个地方,这样当我放大它时,它似乎会增长。

现在它跳来跳去,即它从中心生长——我需要它从底部生长。

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

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

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

1 回答 1

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];
于 2013-09-28T02:23:18.303 回答