gpt4 book ai didi

ios - 围绕其中心旋转 UIView 几次

转载 作者:IT王子 更新时间:2023-10-29 08:17:23 26 4
gpt4 key购买 nike

我试图围绕它的中心旋转一些 UIView,所以简单的代码是这样的(伪代码):

[UIView beginAnimations:@"crazyRotate" context:nil];
[UIView setAnimationDuration:1.0];
someview.transform = CGAffineTransformMakeRotation(angle);
[UIView commitAnimations]

现在,如果我将角度设置为 M_PI/2,物体就会很好地旋转。如果我将它设置为 2*M_PI,那么它“什么都不做”。我可以理解矩阵转化为什么都不做的东西(旋转 360 在某种意义上意味着“停留”),然而,我想旋转它 5 次(想想报纸旋转比例对你的影响——我不擅长描述,希望有人理解)。因此,我尝试将设置角度添加到 180 度 (M_PI) 并添加嵌套的 animatationBlock。但我想因为我再次设置相同的属性 (someview.transition) 它以某种方式忽略了它)。我尝试将动画的重复计数设置为 2,角度 M_PI 但它似乎只是旋转 180,回到直线位置,然后再次启动旋转。

所以,我有点没主意了,任何帮助表示赞赏!--t

最佳答案

您可以在 UIView 的图层属性上使用以下动画。我已经测试过了。

objective-C

UIView *viewToSpin = ...;    
CABasicAnimation* spinAnimation = [CABasicAnimation
animationWithKeyPath:@"transform.rotation"];
spinAnimation.toValue = [NSNumber numberWithFloat:5*2*M_PI];
[viewToSpin.layer addAnimation:spinAnimation forKey:@"spinAnimation"];

swift 5.0

let viewToSpin = UIView() // However you have initialized your view
let spinAnimation = CABasicAnimation.init(keyPath: "transform.rotation")
spinAnimation.toValue = NSNumber(value: 5.0 * 2.0 * Float.pi)
viewToSpin.layer.add(spinAnimation, forKey: "spinAnimation")

关于ios - 围绕其中心旋转 UIView 几次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/518530/

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