2010-05-29 36 views
5

我想动画缩放UIView的缩放,而不是关于其中心:关于不同的点。iPhone:对特定点进行缩放UIView

作为一个黑暗中的镜头,我试着翻译视图,缩放,然后翻译回来,使用一系列CGAffineTransforms。但它不起作用:它仍然围绕着中心扩展。

任何人都知道如何做到这一点?

非常感谢。

回答

12

添加Quartz框架到您的项目和进口石英头

#import <QuartzCore/QuartzCore.h> 

然后,您可以设置你的看法(围绕动画为主)的锚点例如

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

注意的点是0和1之间的值,与0,0被顶留在iPhone

+1

请考虑将其标记我的响应,回答,如果它是有帮助的。 – RunLoop 2010-06-01 08:36:41

+2

非常感谢;这确实有效。但是有一个后续问题:我没有说的是我使用缩放来实现“反弹”效果。所讨论的视图缩小了一些,然后再扩大到正常大小。使用“anchorPoint”方法适当缩小视图,但是当我再次增大视图(使用单位矩阵进行转换)时,整个视图已经移动(翻译)了一些。有没有一种方法可以让视图以可重复的,与anchorPoint无关的方式恢复到其原始位置?谢谢! – 2010-06-01 18:33:03

+0

可能更简单的是简单地设置视图的框架的起源和大小,以反映您的结束点和起点,并将其包含在动画中。我发现这是一个更简单的方法。 – RunLoop 2010-06-01 21:05:31