【发布时间】:2010-10-05 20:01:51
【问题描述】:
我正在尝试围绕其中心旋转一些 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
【问题讨论】:
-
你也可以从这里开始:github.com/jonasschnelli/UIView-i7Rotate360 很容易实现和改变。
标签: ios objective-c cocoa-touch uiview cgaffinetransform