我知道之前有人问过这个问题,但所有答案都在 Objective C 中提供,我正在寻找 Swift 解决方案。如果我错过了现有的 Swift 解决方案,请告诉我,我将关闭此问题。
这就是我制作动画 View 的方式:
UIView.animate(withDuration: 10.0, animations: { () in
let translateTransform = CGAffineTransform.init(translationX: 0.0, y: Constants.screenHeight)
self.icon.transform = translateTransform
})
我想做的是跟踪整个动画中的当前帧位置。我是否需要采取不同的方法来实现这一目标?
最佳答案
您可能想尝试在动画期间获取 View 的帧:
let currentFrame = myView.layer.presentation()!.frame
这将在代码运行时为您提供帧,因此如果您想要记录整个动画中的帧,您可能需要使用计时器(以前称为 NSTimer)。
在这个例子中,可选的是强制展开的,所以如果你不确定它是否为 nil,你可能需要使用 if-let 语句。
希望这对您有所帮助,如果您有任何其他问题,请告诉我。
关于ios - 在翻译动画期间跟踪 UIView 位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42841146/