【发布时间】:2023-04-03 12:22:01
【问题描述】:
我在过去的 4 个月里一直在 swift 上工作,从 2 周开始就在这个启动画面上工作。屏幕中间有汽车,2 个图像(城市和地形)从右到左(RtoL)循环移动作为背景。检查以下从我的 android 应用程序中获取的 gif:
我只能移动背景 RtoL,但只能移动一次。我尝试了其他动画选项,但似乎都没有。您可以看到这些图像比实际屏幕宽得多,因此应该没有任何问题。在下面检查我的方法:
func animate(_ image: UIImageView) {
UIView.animate(withDuration: 1.0, delay: 0.0, options: [.curveLinear],
animations: {image.center.x -= 10},
completion: {_ in self.animate(image)})}
我唯一的要求是像上面的 gif 那样移动图像 RtoL,在循环中没有间隙。
谢谢:)
【问题讨论】:
-
如果这个 gif 是你想要的,为什么不使用它呢?只需从 gif 中获取图像并将它们添加到 UIImageView.animationImages。然后将animationDuration设置为你想要的,然后简单地调用imageView.StartAnimation。它会循环直到你调用 stopAnimation
-
你的想法很好,但是具有这种质量的 gif 会使其尺寸变得非常大,我的应用无法承受。
-
那么也许你必须在图像视图上加倍,这样当图像的右边缘到达右边缘 og 时,你可以将相同的图像(作为另一个实例)附加到第一个图像的末尾屏幕?