【问题标题】:spin UIImageView with core animation使用核心动画旋转 UIImageView
【发布时间】:2011-08-03 22:35:15
【问题描述】:

我正在尝试做一些相对简单的事情,当用户触摸按钮时让轮子旋转 90 度,到目前为止我所做的大部分工作都是第一次工作,但此后图像不会移动。我希望它保持新位置,然后从新位置旋转 90 度,我有 [UIView setAnimationBeginsFromCurrentState:YES];

但这似乎不起作用

我添加了一个 NSTimer 来“重置”原始图像方向,以便轮子弹回原始位置,然后在用户触摸它时再次旋转。 ...但是这并不是我真正想要的。

有没有办法让图像保持旋转 90 度,这样用户的四次触摸就会使图像回到原来的位置。感谢您的帮助!

这里是示例代码


-(IBAction) rotatewheel:(id)sender {

      [UIView setAnimationDuration:1];
    [UIView setAnimationBeginsFromCurrentState:YES];
    [UIView setAnimationRepeatCount:1];
    wheel.transform = CGAffineTransformMakeRotation(M_PI/4);
    [UIView commitAnimations];  

    returnwheelTimer = [NSTimer scheduledTimerWithTimeInterval:1.1 target:self selector:@selector (returnwheel) userInfo:nil repeats:NO];

}

-(void) returnwheel {

    [UIView beginAnimations:nil context:NULL];

    [UIView setAnimationDuration:.5];
    [UIView setAnimationBeginsFromCurrentState:YES];
    [UIView setAnimationRepeatCount:1];
    wheel.transform = CGAffineTransformMakeRotation(M_PI);
    [UIView commitAnimations];  

}

【问题讨论】:

    标签: objective-c xcode ipad ios4


    【解决方案1】:

    代替:

    wheel.transform = CGAffineTransformMakeRotation(M_PI/4);
    

    使用

    wheel.transform = CGAffineTransformRotate(wheel.transform,M_PI/4);
    

    这样它会将新的转换应用到当前的转换,而不是替换它。

    【讨论】:

    • 非常感谢您的快速响应,我添加了这个并且它完美地工作
    【解决方案2】:

    有三种简单的方法可以实现这一点。
    1) 在 Unity3D 等游戏引擎中制作您的应用,而不是在 XCode 中。制作旋转轮的动画并编写脚本以在按钮按下时启动。这做起来相对简单,并且有很多很好的现有教程。我推荐使用 Avaam Studios 的 iGUI(我不隶属于他们,也没有任何偏见)。

    2) 创建一个带有一组照片的 NSObject,并开始按下按钮时车轮旋转的定格动画。可以在here 找到有关此主题的线程。

    3) 如果您希望滚轮从其最后一个位置旋转 90 度,以便在单击四次后可以旋转一整圈 (36),则需要采用不同的方法。我建议每次按下按钮时都将其替换为不同的相同按钮。这样您就不需要计算推送次数。您将有四个不同的 IBOutlets(每个相同的按钮一个),每个按钮将 a)将图像旋转 90 度,然后 b)消失并被另一个按钮替换。我还没有看到任何实际的实现,但它是可行的。 Here 是一个关于一个按钮上的多个方法主题的线程(可能是我想法的更好替代方案)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-07
      • 1970-01-01
      • 2011-07-25
      相关资源
      最近更新 更多