如何在UIimageVIew上制作旋转动画

时间:2019-09-10 12:53:53

标签: swift animation uiview uiimageview uiviewanimation

我是新来的,很高兴问我第一个问题。所以我有一个uimageview,就像俄罗斯的roulutte,当我点击或捏它时,我希望我的imageview旋转取决于我触摸的位置(以便它可以顺时针或逆时针旋转),并且取决于我的手指速度移动(使其旋转得更快或更慢)。到目前为止,我只能管理如何旋转它,但是我无法管理如何旋转uiimageview取决于用户的触摸和用户想要的正确方向。因此,这是到目前为止我完成的代码。 这是我要旋转的图片。

https://ibb.co/PcfqJtj

如果您有任何想法,请回覆我,我将感激你们。祝你有美好的一天!!!

我使用UIview.animate方法创建动画。但是我需要从UItapgesture识别器中获取更多变量,以便可以修改速度,旋转方向等。

UIView.animate(withDuration:2.5,delay:0,animations:{

            var angleRotation = (45) * Int.random(in: 1..<5)
            print("AngleRotation:\(angleRotation)")
            for n in 1...200 {
                 self.wheelImageview.transform = self.wheelImageview.transform.rotated(by: CGFloat( -angleRotation))
            }

        }) { (success) in
                    if success{
                        radianAfter = atan2( Double(self.wheelImageview.transform.b), Double(self.wheelImageview.transform.a))
                        degreeAfter = CGFloat(radianAfter) * (CGFloat(180) / CGFloat(Double.pi) )
                         print("Degree After:\(degreeAfter)")
                        if degreeAfter < 0 {
                            degreeAfter += 360
                      }                      
                }
        }

结果,我的图像视图有时会旋转到顺时针,有时会旋转到逆时针。

0 个答案:

没有答案