我可以将UIView旋转90度,也可以获取旋转角度。
需要实现--->将myView旋转角度值重置为0,但视图位置/方向不应超过UI上的先前旋转/位置值,然后如果我旋转,则它必须从相同的位置/方向开始旋转,并且旋转角度需要从0开始。
这是实现代码
@IBOutlet weak var myView: UIView!
@IBAction func rotateBtn(_ sender: Any) {
myView.transform = myView.transform.rotated(by: .pi/2)
getRotateAngles()
}
func getRotateAngles() {
let radians = atan2(myView.transform.b, myView.transform.a)
var degrees = radians * 180 / .pi
degrees.round()
let realDegrees = degrees >= 0 ? abs(degrees) : 360 + degrees
print("Degrees:: \(realDegrees)")
}
@IBAction func saveTapped(_ sender: Any) {
myView.transform = .identity //need to implement--->reset myView rotation angle value to 0 but view position/direction should not go previous rotation value on UI and then if i rotate it has to start rotate from same position/direction and it's rotation angle need to start from 0.
}
在这里,我可以以0、90、180、270、0 .....打印视图旋转角度。
点击保存后,如何将视图旋转值重置为0。
如果将视图旋转90度并在保存视图上轻击,则进入UI部分将在UI上相同,但是度值应从0开始。
如果我保持变换身份,myView正在更改,则它在UI上的位置就是问题。我不想更改它在UI上的位置/位置,但是saveTapped时只有视角应从0开始。
示例:我旋转了视图,将角度设置为0、90、180、270、0 ... 要求是我旋转视图,它打印出90度。saveTapped然后myView应位于相同位置/相同位置,UI上应保持不变。现在,当我再次旋转时,它必须打印0、90、180、270、0度...。但是在这种情况下,saveTapped并已将视图旋转90度
谢谢。