【发布时间】:2020-07-27 10:30:07
【问题描述】:
我有一个动画,其中一辆汽车开到屏幕中间。到达时,汽车停在那里,直到我回到这个视图,然后汽车再次开进。但是当我在汽车位于屏幕中间时关闭应用程序并关闭并重新打开应用程序时,汽车隐藏在起始位置而不是屏幕中间。我认为动画完成并且 carImage 进入了起始位置。我怎样才能防止这种情况?我的猜测是,当应用程序关闭时,我必须以某种方式提醒汽车图像的位置,并在应用程序重新打开时将汽车放回该位置,但前提是汽车在应用程序关闭之前就在那里(否则动画将开始在屏幕中间,这会很糟糕..)。
我将向您展示一个快速的屏幕录像以便更好地理解: https://vimeo.com/407626947
我在 ViewDidAppear 中得到了这个:
UIView.animate(withDuration: 4, animations: {
self.carImage.frame.origin.y += 139
self.carImage.frame.origin.x += 240
}, completion: {(finished:Bool) in self.show()})
其中“carImage”是一个带有 car.png 的 UIImageView。我已经手动将它的位置放在左侧某处的 main.storyboard 中,这样就可以了。
我知道,使用 += 139 等对其进行动画处理一点也不好,但是因为我将 carImage 放在了一个视图中,它在所有设备上都是相同的大小,所以它可以完美地工作。
【问题讨论】:
标签: ios swift xcode animation uiview