iPhone:关于特定点的缩放UIView

Gre*_*tic 5 iphone cgaffinetransform uiviewanimation

我想动画缩小UIView,但不是关于它的中心:关于不同的观点.

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

有人知道怎么做吗?

非常感谢.

Run*_*oop 12

将Quartz框架添加到项目中并导入Quartz标头

#import <QuartzCore/QuartzCore.h>
Run Code Online (Sandbox Code Playgroud)

然后,您可以设置视图的锚点(动画所基于的点),例如

myView.layer.anchorPoint = CGPointMake(0, 0);
Run Code Online (Sandbox Code Playgroud)

请注意,这些点的值介于0和1之间,其中0,0位于iPhone的左上角

  • 非常感谢; 这确实有效.但是有一个后续问题:我没说的是我正在使用缩放来获得"反弹"效果.有问题的视图缩小了一点,然后扩展回正常大小.使用"anchorPoint"方法可以适当地缩小视图,但是当我再次增大视图时(使用变换的单位矩阵),整个视图已经移动(翻译)了一下.有没有办法让这个视图以可重复的,独立于anchorPoint的方式恢复到原来的位置?谢谢! (2认同)