为什么我的视图总是顺时针旋转而不是逆时针旋转?

时间:2016-01-04 17:55:15

标签: ios swift

[ 'A1', 'A2', ... ].indexOf( choice ) < 0

为什么上面的变换会顺时针旋转我的imageView而不是逆时针旋转?如何将此行为更改为后者?

编辑:

UIView.animateWithDuration(1.0, delay: 1, usingSpringWithDamping: 1, initialSpringVelocity: 1, options: UIViewAnimationOptions.AllowUserInteraction, animations: {
                var angle = degreesToRadians(180)
                self.imageView.transform = CGAffineTransformMakeRotation(-angle)
            }, completion: { (value: Bool) in })

导致发生相同的行为。

1 个答案:

答案 0 :(得分:1)

动画正在尝试以最小的旋转量旋转视图。例如,给定90度的期望旋转,通过旋转

的视图有多种方式来实现它
90 + 360 * i

度,i可以是任何整数,正数,负数或零。在这种情况下,动画会将视图旋转90度,因为它是达到指定所需旋转的最小旋转量。另一个例子,即使你将所需的旋转设置为450(90 + 360),动画仍然只能旋转90度。

在你的情况下,180度实际上是旋转的另一面。因此,180和-180之间没有区别。如果要强制视图通过所需方向旋转,则必须将旋转分解为多个较小的旋转。在这种情况下,您可以将视图旋转90度,然后再旋转90度,以保证视图旋转所需的方向。同样,如果您希望它沿相反方向旋转,您可以进行两次-90度旋转,然后是另一次旋转。