我正在考虑为我当前的应用程序设置设置动画背景图像的快速问题。基本上我想让我当前的静态背景图像在我的视图中无休止地从左到右滚动;但我正在努力拼凑它们。从各种其他来源我已经包含了这个目前无法正常工作的功能,我真的无法弄清楚如何或为什么。
func animate(_ image: UIImageView) {
UIView.animate(withDuration: 5, delay: 0, options: .curveLinear, animations: {
image.transform = CGAffineTransform(translationX: -100, y: 0)
}) { (success: Bool) in
image.transform = CGAffineTransform.identity
self.animate(image)
}
}
非常感谢任何帮助/协助!
答案 0 :(得分:2)
您无需在CAffineTranform
内使用animateWithDuration
,您只需将新中心定义为:
let oldCenter = image.center
let newCenter = CGPoint(x: oldCenter.x - 100, y: oldCenter.y)
UIView.animate(withDuration: 1, delay: 0, options: .curveLinear, animations: {
image.center = newCenter
}) { (success: Bool) in
print("Done moving image")
}
希望它有所帮助。