首页 > 解决方案 > 如何增加滑动运动的阻力 - 迅速

问题描述

我有一个快速处理程序,可以检测用户何时滑动视图。如果他们用手指滑动视图,我希望视图跟随他们的手指直到某个点,然后放慢速度并滞后于手指。(例如,当您将 tableView 拖过它的顶部时,它会“滞后”在您的手指后面)。有没有我可以使用的公式来做到这一点?

到目前为止我的代码(它在滑动动作函数中)

 // Transform if it is going left
 if (translation.x <= 0) {
   // If reply has not been triggered yet, match view position to finger position
   if (!replyTriggered) {
     self.transform = CGAffineTransform(translationX: translation.x, y: 0)
   }
   // If it has been triggered, make movement less and less
   else {
     let translationX = "????"
     self.transform = CGAffineTransform(translationX: translationX, y: 0)
   }
}

标签: iosswiftxcode

解决方案


这就是我最终这样做的方式(在转向原生反应之后,但公式应该仍然相同)

var translateValue = 800*Math.log10((gestureState.dx/800)+1);

推荐阅读