2009-12-02 59 views
1

我将很快看到Core Animation的更多细节,但目前我只是想要将视图旋转指定的角度。我想知道是否有人能指点我一些代码或提供一个简单的例子,因为在线快速搜索没有拉到任何有用的东西!简单的核心动画视图旋转

基本上,我需要设置一个锚点,然后旋转我的视图一定的角度。然后从那里我可以设置另一个角度,它会顺利地动画到新的角度。

感谢您的帮助!

回答

9

尝试类似如下(未经测试,因为我从我的办公桌不在的时候):

[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:5.0]; 

// Modify any animatable properties 
myImage.transform = CGAffineTransformMakeRotation(90 * M_PI/180.0); 

[UIView commitAnimations]; 

这将旋转你的UIImageView(MYIMAGE)90度,超过5秒,使用图像为中心旋转点。

如果你想围绕任意点旋转,你可以考虑改变图层的anchorPoint(myImage.layer.anchorPoint)。它默认为0.5,0.5,这导致了控制的中间。关于这一切如何工作,请参阅Core Animation文档。

+0

谢谢,完成了这项工作!我注意到,如果我在当前的旋转动画的中途再次对相同的视图进行动画制作,它不会拾取它在哪里并开始移动,它会跳到当前动画的结束点,然后开始新的动画。任何想法为什么? – 2009-12-05 18:53:25

+0

你知道了吗?简短的回答,等待目前的动画完成之后再开始下一个动画。见http://stackoverflow.com/questions/2728516/iphone-detect-the-end-of-the-animation/2767229#2767229 – brindy 2010-10-17 22:47:24

+1

也许setAnimationBeginsFromCurrentState:是的看法? – 2011-09-14 22:03:18