我想确定动画期间 UIVIew 的中心位置(视图的中间点)是什么。带有 UIViewPropertyAnimator 的动画如下:
let animator = UIViewPropertyAnimator(duration: 10, curve: .easeInOut)
var circle : UIView!
circle = UIView(frame: CGRect(x: 0.0, y: 0.0, width: 40.0, height: 40.0))
circle.layer.cornerRadius = 20.0
circle.backgroundColor = UIColor.blue
self.view.addSubview(circle)
animator.addAnimations {
circle.center = CGPoint(x: 100,y: 100)
//or any other point
}
animator.startAnimation()
如果我在动画期间打印 circle.center 属性,那么我得到的只是动画的目标位置,而不是真实位置。
Timer.scheduledTimer(withTimeInterval: 0.2, repeats: true, block: {
[weak self] (Timer) -> Void in
if let circleCenterPosition = self?.circle.center
{
print(circleCenterPosition)
}
})
在此打印之后,我在控制台上看到了这个:
(100.0, 100.0)
(100.0, 100.0)
...
如何在动画期间打印真实位置?
谢谢。