gpt4 book ai didi

swift - CGAffineTransform 恢复旋转方向

转载 作者:搜寻专家 更新时间:2023-11-01 05:48:37 25 4
gpt4 key购买 nike

我正在使用以下代码 360º 旋转 UIButton:

self.btn.transform = CGAffineTransform(rotationAngle: (180.0 * CGFloat(M_PI)) / 180.0)
self.btn.transform = CGAffineTransform(rotationAngle: (0.0 * CGFloat(M_PI)) / 180.0)

问题是它从左向右旋转,我想反转方向。我试过使用 -M_PI 或 -180 和其他组合,但没有成功。我做错了什么?

最佳答案

您可以应用负变换来反转方向:

self.btn.transform = CGAffineTransform(rotationAngle: -0.999*CGFloat.pi)

撤消:

self.btn.transform = CGAffineTransform.identity

请记住,变换会改变 View 而不是实际对象。您不必“撤消”它,只需替换它即可。

这是一些简单的工作 Playground 代码,显示逆时针动画:

import UIKit
import PlaygroundSupport

let view:UIView = UIView(frame: CGRect(x: 0, y: 0, width: 200, height: 200))
view.backgroundColor = UIColor.red
PlaygroundPage.current.liveView = view

let button = UIView(frame: CGRect(x: 50, y: 50, width: 100, height: 50))

button.backgroundColor = UIColor.white
view.addSubview(button)

UIView.animateKeyframes(withDuration: 2.0, delay: 0.0, options: .repeat, animations: {
let rotation = -0.999*CGFloat.pi
button.transform = CGAffineTransform(rotationAngle: rotation)
print(rotation)
}, completion: nil)

结果是这样的:

animation

关于swift - CGAffineTransform 恢复旋转方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43123862/

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