CGAffineTransformation设置锚点?

时间:2011-05-30 23:19:51

标签: iphone cgaffinetransform

我对某些事感到好奇。在我的应用程序中,我正在运行一个动画,其中视图调整了一点点。我正在创建这样的变换:

CGAffineTransform resize = CGAffineTransformMakeScale(0.8, 0.8);

但是,当我将此转换应用于我的视图并观察其运行时,它会从顶部调整大小并向底部缩小。我想要的是它在所有侧面均匀调整大小并向中心缩小,就好像一个“锚点”位于中心。你知道我在说什么?这可能吗?

2 个答案:

答案 0 :(得分:4)

首先将Quartz框架添加到项目中并导入Quartz标题

#import <QuartzCore/QuartzCore.h>

然后您可以像这样设置视图的锚点

myView.layer.anchorPoint = CGPointMake(0, 0);

AnchorPoint点数值介于0和1之间.0,0是iPhone的左上角。

答案 1 :(得分:1)

首先应用CGAffineTransformMakeTranslation将原点移动到中心 - 将它们合成为CGAffineTransformConcat

的单个变换