gpt4 book ai didi

ios - CALayer 按方向旋转

转载 作者:行者123 更新时间:2023-11-28 20:20:21 25 4
gpt4 key购买 nike

我正在尝试旋转 CALayer,首先我将它旋转 -30 度,所以它向左转。

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
self.transform = CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(-30));
[UIView commitAnimations];

现在我希望它完成旋转,再从左开始旋转,但它采用最短路径。

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
self.transform = CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(-30));
[UIView commitAnimations];

我怎样才能强制它的旋转方向?

最佳答案

您可以使用 CABasicAnimation 旋转到特定角度。

CABasicAnimation *rotate = 
[CABasicAnimation animationWithKeyPath:@"transform.rotation"];
rotate.toValue = @(M_PI*2);
rotate.duration = 1.0; // your duration

[yourView.layer addAnimation:rotate
forKey:@"myRotationAnimation"];

还有一些参数可用于配置动画的外观(例如计时功能)。

默认情况下,动画会在完成后自行删除,因此您应该更新到最终值(这已在所有“我如何旋转...”问题中反复解释过。

此外,您需要 QuartzCore.framework 用于核心动画(本例中为 CALayer 和 CABasicAnimation)

关于ios - CALayer 按方向旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16260437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com