gpt4 book ai didi

ios - iPhone - 当旋转动画 > 90 度时 UIImageView 移动

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

我正在使用此代码来旋转我的图像。

- (IBAction)spin:(id)sender {

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:5.0];
[UIView setAnimationBeginsFromCurrentState:YES];
self.imgRad.transform = CGAffineTransformMakeRotation(arc4random() % 360 * M_PI / 180);
[UIView commitAnimations];
}

现在我有两个问题。

首先:如果随机数大于90,则图片中心向右下角移动。它与随机数有关。所以更高的数字 = 图像的位置更靠近右上角。我该如何解决?我是否必须在每次大于 90 时都为我的 UIImageView 设置一个新的中心?

第二:如果数字是例如 300,则图像不会旋转 300 度,它只会以相反的方式旋转 60 度。我该如何解决这个问题?

非常感谢!

最佳答案

  • 第一个问题可能是使用transform时 anchor 错误导致的,可以避免使用CAAnimation
  • 第二个问题可以用NSNumber来解决。

代码:

    CABasicAnimation *rotation = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
rotation.fromValue = [NSNumber numberWithFloat:0];
rotation.toValue = [NSNumber numberWithFloat:(arc4random() % 360 * M_PI / 180)];
rotation.duration = 5.0f;
rotation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
rotation.fillMode = kCAFillModeForwards;
rotation.removedOnCompletion = NO;

[self.imgRad.layer addAnimation:rotation forKey:@"rotatationRandom"];

关于ios - iPhone - 当旋转动画 > 90 度时 UIImageView 移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23197330/

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