objective-c - CGAffineTransformMakeRotation 在 CABasicAnimation 之前

标签 objective-c ios ios4 animation cabasicanimation

在执行旋转动画之前,我首先执行 UIImageView 的旋转:

// rotate to the left by 90 degrees
someView.transform = CGAffineTransformMakeRotation((-0.5)*M_PI);

然后在 View 上调用 180 度旋转......但它似乎是从原始位置开始旋转图像,就好像它最初没有旋转一样。

- (void)rotateIndicatorToAngle: (UIView *)view angle: (NSNumber *)angleInDegrees
{
    CALayer *layer = view.layer;
    CGFloat duration = 5.0;
    CGFloat radians = [self ConvertDegreesToRadians: [angleInDegrees floatValue]];
    CABasicAnimation* rotationAnimation;
    rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
    rotationAnimation.toValue = [NSNumber numberWithFloat: radians];
    rotationAnimation.duration = duration;
    rotationAnimation.cumulative = YES;
    rotationAnimation.repeatCount = 1.0;
    rotationAnimation.removedOnCompletion = NO;
    rotationAnimation.fillMode = kCAFillModeForwards;
    rotationAnimation.timingFunction = [CAMediaTimingFunction
functionWithName:kCAMediaTimingFunctionEaseOut];

[layer addAnimation: rotationAnimation forKey: @"rotationAnimation"];
}

什么给了?

最佳答案

rotationAnimation.cumulative = YES;

您是否尝试过使用 rotationAnimation.additive = YES; 而不是 cumulative?

关于objective-c - CGAffineTransformMakeRotation 在 CABasicAnimation 之前,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3969211/

相关文章:

objective-c - 如何将文件保存到临时位置? cocoa /Objective-C

ios - 无法在 Appcelerator 中找到任何有效的 iOS 分发配置文件

ios - 如何防止WKWebView在应用程序发送到后台后被清空

objective-c - 有人可以解释一下 iOS 中的以下两种方法以及如何使用它们来实现 facebook 共享吗?

ios - 将新的 APNS 证书上传到 GCM

ios - 使用关系Parse.com保存对象而不是PFUser CurrentUser

ipad - 有没有办法在 iPhone/iPad 上实例化可通过标准 USB 连接器访问的 MIDI 设备?

iphone - 如何从 iPhone sdk 中的标签获取文本字段值?

ios - 有哪些选项可以为重定向到网站的 iPhone 创建 shell 应用程序?

ios - 如何创建这样的弹跳弹出动画?