Trying to make an object spin fast before performing a segue

24 Views Asked by At

Right now when i use the CGFloat of 2 * .pi it doesn't animate. It does animate for .pi but only a half rotation. How can I make this animate for multiple rotations? I've tried multiplying .pi times different numbers to make more rotations, but the object doesn't move if the angle is 360. How can I make this happen?

    UIView.animate(withDuration: 0.5, animations: ({
        self.rotate1.transform = CGAffineTransform(rotationAngle: (.pi))


    }), completion: {
            (value: Bool) in
        self.performSegue(withIdentifier: segueName, sender: self)

            })
1

There are 1 best solutions below

0
rudedog10 On

SOLVED: Rotated it by 90 clockwise, then repeated 3 times.

 UIView.animate(withDuration: 0.5, animations: ({
        self.rotate1.transform = CGAffineTransform(rotationAngle: (CGFloat.pi / 2))
        self.rotate1.transform = CGAffineTransform(rotationAngle: (CGFloat.pi))
        self.rotate1.transform = CGAffineTransform(rotationAngle: (-CGFloat.pi / 2))
        self.rotate1.transform = CGAffineTransform(rotationAngle: (CGFloat.pi * 2))
        self.rotate1.transform = CGAffineTransform(rotationAngle: (CGFloat.pi / 2))
        self.rotate1.transform = CGAffineTransform(rotationAngle: (CGFloat.pi))
        self.rotate1.transform = CGAffineTransform(rotationAngle: (-CGFloat.pi / 2))
        self.rotate1.transform = CGAffineTransform(rotationAngle: (CGFloat.pi * 2))
        self.rotate1.transform = CGAffineTransform(rotationAngle: (CGFloat.pi / 2))
        self.rotate1.transform = CGAffineTransform(rotationAngle: (CGFloat.pi))
        self.rotate1.transform = CGAffineTransform(rotationAngle: (-CGFloat.pi / 2))
        self.rotate1.transform = CGAffineTransform(rotationAngle: (CGFloat.pi * 2))