在快速iOS中将视图旋转角度重置为零

时间:2019-03-12 14:28:59

标签: ios swift xcode uiview swift4.2

我可以将UIView旋转90度,也可以获取旋转角度。

需要实现--->将myView旋转角度值重置为0,但视图位置/方向不应超过UI上的先前旋转/位置值,然后如果我旋转,则它必须从相同的位置/方向开始旋转,并且旋转角度需要从0开始。 enter image description here

通过点击屏幕下方的“旋转”按钮,我将视图旋转了90度。 enter image description here

这是实现代码

    @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度

谢谢。

0 个答案:

没有答案