gpt4 book ai didi

iphone - 旋转 UIView iPhone

转载 作者:行者123 更新时间:2023-12-03 18:26:15 25 4
gpt4 key购买 nike

我正在开发一款益智游戏,每次双击时我需要将拼图 block 旋转到 90 度角。

我尝试使用两种不同的方式来做。第一种方法是:

[UIView beginAnimations:@"rotate" context:nil];
[UIView setAnimationDuration:0.5];
self.transform = CGAffineTransformMakeRotation(90);
[UIView commitAnimations];

唯一的问题是该部件没有旋转 90 度;它旋转了大约 100 度,并且该动画正在修改拼图 block UIView 的框架。

这是我的控制台输出:

frame BEFORE ROTATION: {{35, 178}, {80, 80}}

frame AFTER ROTATION: {{21.3172, 164.317}, {107.366, 107.366}}

我尝试的第二种方法是这个:

CABasicAnimation* spinAnimation = [CABasicAnimation
animationWithKeyPath:@"transform.rotation"];
spinAnimation.toValue = [NSNumber numberWithFloat:1];
[self.layer addAnimation:spinAnimation forKey:@"spinAnimation"];

此方法的问题在于,完成旋转后,它将我的 UIView 恢复到之前的状态。

如何用动画旋转拼图而不出现这些问题?

最佳答案

尝试

[UIView beginAnimations:@"rotate" context:nil];
[UIView setAnimationDuration:0.5];
self.transform = CGAffineTransformMakeRotation(DegreesToRadians(90));
[UIView commitAnimations];

您可以将 DegreesToRadians 定义为

#define DegreesToRadians(x) ((x) * M_PI / 180.0)

关于iphone - 旋转 UIView iPhone,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5457122/

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