我有一个卡通脸的图像来旋转它,就像从左到右摇头一样(就像我们听到音乐时所做的那样),持续一段特定的时间,比如5-7秒。因此,我正在做以下工作:
-(void)rotation{
CABasicAnimation *rotate = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
[rotate setFromValue:[NSNumber numberWithFloat:0.0]];
[rotate setToValue:[NSNumber numberWithFloat:45]];
[rotate setDuration:5.0];
[rotate setAutoreverses:YES];
[rotate setTimingFunction:[CAMediaTimingFunction functionWithName: kCAMediaTimingFunctionEaseInEaseOut]];
[[faceImage layer] addAnimation:rotate forKey:@"dangleFaceImage"];
}但是图像像一个球一样旋转!我认为我的代码一点也不正确。我怎么才能做这个轮换呢?
发布于 2013-05-03 13:04:22
您将在设置图层的锚点方面进行工作。将包含面的图层的锚点放置在较低的中间底部。然后旋转将从这一点开始。然后,看起来头部从颈部开始倾斜。
发布于 2013-05-03 13:03:59
旋转以弧度为单位,而不是度数。
[rotate setToValue:[NSNumber numberWithFloat: 45*M_PI/180.]];发布于 2013-05-03 13:18:33
对于左侧
CGAffineTransform transform = CGAffineTransformRotate(imgBg.transform, M_PI/-360);
imgBg.transform = transform;对于右侧
CGAffineTransform transform = CGAffineTransformRotate(imgBg.transform, M_PI/360);
imgBg.transform = transform;https://stackoverflow.com/questions/16351882
复制相似问题