我正在按照本指南学习UIPropertyAnimators:
https://www.youtube.com/watch?v=Yrb78U3V16g
他正在使用UIPropertyAnimator使用平移手势识别器为UIView设置动画以使其全屏显示/缩小为缩略图。
基于手势的翻译来翻译视图的概念很有意义,这就是他所做的:
let translation = recognizer.translation(in: self.view.superview)
但是当使用手势的平移为视图设置动画时,他使用了视图的中心:
let yTranslation = self.view.center.y + translation.y
progress = (yTranslation / self.view.center.y) - 1 // For going to fullscreen
progress = 1 - (yTranslation / self.view.center.y) // For going to thumbnail
animator.fractionComplete = progress
在视频中,他说他使用屏幕的中央使动画感觉“更自然”,但我不理解其背后的数学原理。我是否缺少明显的东西?
有人可以解释将view.center.y添加到yTranslation然后除以它,以及如何实现更“自然”的感觉吗?