首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ios增长动画CGAffineTransformMakeScale四处移动

ios增长动画CGAffineTransformMakeScale四处移动
EN

Stack Overflow用户
提问于 2013-09-28 02:06:10
回答 1查看 2.4K关注 0票数 1

我在给一棵长着生命的树做动画。就像一棵树,我希望我的UIImage留在同一个地方,这样当我把它放大时,它就会长出来。

现在它跳来跳去,也就是它从中心开始生长--我需要它从底部长出来。

是否有一种方法来设置动画的起源/基。所以比例动画从底部开始工作。

希望这是合理的。这是我的代码:

代码语言:javascript
复制
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
tree.transform = CGAffineTransformMakeScale(1.0f, 1.25f);
[UIView commitAnimations];
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-28 02:23:18

为此,您可能希望查看CALayer类,并将anchorPoint设置为中间底部。

代码语言:javascript
复制
- (void)viewDidLayoutSubviews
{
    self.outletTestView.layer.anchorPoint = CGPointMake(0.5, 1.0);
    self.outletTestView.layer.position = CGPointMake(100, 300);
}

别忘了包括:

代码语言:javascript
复制
#import <QuartzCore/QuartzCore.h>

并用于缩放:

代码语言:javascript
复制
CGAffineTransform CGAffineTransformScale ( CGAffineTransform t, CGFloat sx, CGFloat sy );

就像这样:

代码语言:javascript
复制
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
tree.transform = CGAffineTransformScale(tree.transform, 1.0f, 1.25f);
[UIView commitAnimations];
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19062444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档