ios - 如何增加滑动运动的阻力 - 迅速
问题描述
我有一个快速处理程序,可以检测用户何时滑动视图。如果他们用手指滑动视图,我希望视图跟随他们的手指直到某个点,然后放慢速度并滞后于手指。(例如,当您将 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)
}
}
解决方案
这就是我最终这样做的方式(在转向原生反应之后,但公式应该仍然相同)
var translateValue = 800*Math.log10((gestureState.dx/800)+1);
推荐阅读
- ruby-on-rails - 在 Rails 上实例化子类 Ruby 的正确方法
- java - 命令在终端中工作,但使用 Process.exec 时出现“没有结束引号”错误
- google-cloud-datastore - 可以在非阻塞模式下使用 Objectify 吗?
- java - 如何通过将任何条件放在值上来将 2 个 hashmap 添加到 1
- ios - Swift 弱委托
- python - 找不到合适的 Xpath 或 CSS 选择器
- java - 如何制作有界整数?
- karma-runner - 如何使用 Karma、karma-typescript、Jasmine、Mocha、Chai 设置 NativeScript Angular
- wordpress - 如果子菜单中包含自定义帖子类型,则不会显示添加新选项
- machine-learning - 从 Solr 中提取特征值