gpt4 book ai didi

ios - 为什么我的 View 总是顺时针而不是逆时针旋转?

转载 作者:行者123 更新时间:2023-11-28 06:52:06 34 4
gpt4 key购买 nike

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 })

为什么上述变换会顺时针而不是逆时针旋转我的 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 })

导致相同的行为发生。

最佳答案

动画试图以最小的旋转量旋转 View 。例如,给定所需的 90 度旋转,有多种方法可以通过旋转

的 View 来实现
90 + 360 * i

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

在您的例子中,180 度实际上是旋转的反面。因此,180 和 -180 之间没有区别。如果您想强制 View 通过所需方向旋转,则必须将旋转分解为多个较小的旋转。在这种情况下,您可以将 View 旋转 90 度,然后再旋转 90 度,以确保 View 按照您想要的方向旋转。类似地,如果您希望它以相反的方向旋转,您可以依次旋转两次 -90 度。

关于ios - 为什么我的 View 总是顺时针而不是逆时针旋转?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34596952/

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