使用此代码:
UIView.animate(withDuration: 0.5, delay: 0, options: [.repeat], animations: {
self.star.transform = self.star.transform.rotated(by: CGFloat(M_PI_2))
})
使用此代码:
extension UIView {
func rotate360Degrees(duration: CFTimeInterval = 3) {
let rotateAnimation = CABasicAnimation(keyPath: "transform.rotation")
rotateAnimation.fromValue = 0.0
rotateAnimation.toValue = CGFloat(M_PI * 2)
rotateAnimation.isRemovedOnCompletion = false
rotateAnimation.duration = duration
rotateAnimation.repeatCount=Float.infinity
self.layer.add(rotateAnimation, forKey: nil)
}
}
两者都没有做我想做的事。正在旋转的视图是一个带有缩放比例的UIImageView。我希望图像完全保持在中间。我怎么能做到这一点?这些函数在viewDidAppear中执行。最后一个gif看起来更好,但请注意这颗恒星没有完全居中...... This is the image。
答案 0 :(得分:3)
图像的中心不是明星的中心。
有两种可能的解决方案