【问题标题】:Simple Core Animation View Rotation简单的核心动画视图旋转
【发布时间】:2009-12-02 21:16:09
【问题描述】:

我很快将更详细地研究 Core Animation,但目前我只是想将视图旋转指定角度。我想知道是否有人可以向我指出一些代码或提供一个简单的示例,因为在线快速搜索没有找到任何有用的东西!

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

感谢您的帮助!

【问题讨论】:

    标签: iphone core-animation


    【解决方案1】:

    尝试以下方法(由于我不在办公桌前,因此未经测试):

    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:5.0];
    
    // Modify any animatable properties
    myImage.transform = CGAffineTransformMakeRotation(90 * M_PI / 180.0);
    
    [UIView commitAnimations];
    

    这将在 5 秒内将您的 UIImageView (myImage) 旋转 90 度,使用图像的中心作为旋转点。

    如果您想围绕任意点旋转,您可以考虑更改图层的锚点 (myImage.layer.anchorPoint)。它默认为 0.5,0.5,位于控件的中间。有关这一切的工作原理,请参阅核心动画文档。

    【讨论】:

    • 谢谢,完美地完成了这项工作!我注意到,如果我再次为同一个视图设置动画,但在当前旋转动画的中途,它不会拾取它所在的位置并开始移动,它会跳转到当前动画的终点,然后开始新的动画。知道为什么吗?
    • 你发现了吗?简短的回答,等待当前动画完成,然后再开始下一个。见stackoverflow.com/questions/2728516/…
    • 也许 setAnimationBeginsFromCurrentState:YES 在视图上?
    猜你喜欢
    • 1970-01-01
    • 2011-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-25
    • 1970-01-01
    • 2013-02-28
    • 1970-01-01
    相关资源
    最近更新 更多