I have a view that I am rotating a lot, often more than 360 degrees (spins around a few times). Each time it stops, I want to determine the resulting "visual" angle. How do I go about doing that?
rotateView is a configured CABasicAnimation: *let rotateView = CABasicAnimation()* *let randonAngle = arc4random_uniform(361) + 1440* *rotateView.fromValue = 0* *rotateView.toValue = Float(randonAngle) * Float(M_PI) / Float(randomBetweenNumbers(firstNum: 90.0, secondNum: 180.0))//180.0* *let randomSpeed = randomBetweenNumbers(firstNum: 1.5, secondNum: 2.1)* *rotateView.duration = CFTimeInterval(randomSpeed)* *rotateView.repeatCount = 0* *rotateView.isRemovedOnCompletion = false* *rotateView.fillMode = kCAFillModeForwards* *rotateView.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseOut)* *innerRing.layer.add(rotateView, forKey: "transform.rotation.z")* Once done (I dispatch after the randomSpeed duration), I'd like to determine the angle it's currently at. *let transform:CATransform3D = innerRing.layer.transform* *let angle: CGFloat = atan2(transform.m12, transform.m11);* *print(angle)* Always prints 0.0 Am I missing something obvious? I almost thought about using hitTest but there must be a way to get this after each spin? Thank you, Eric _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com