首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检测何时平移手势移动得非常快,而不是精细,从而相应地调整控制?

如何检测何时平移手势移动得非常快,而不是精细,从而相应地调整控制?
EN

Stack Overflow用户
提问于 2013-04-14 03:31:01
回答 2查看 2.6K关注 0票数 3

在我的应用程序中,我可以选择让用户向上平移来调整控件,但当他们平移得非常快时,它会有点慢,我想要跳得更多。

代码语言:javascript
复制
// If user is panning upwards or downwards, adjust WPM every 8 translations in either direction
if (translation.y<-8 || translation.y>8) {
    // Reset translation so we can see when it exceeds 8 again
    [recognizer setTranslation:CGPointMake(0, 0) inView:self.view];

    // Figure out direction, if pan down, decrease by 5, if up, increase by 5
    int sign = (translation.y > 0) ? -1 : 1;
    WPM = @([WPM intValue] + (sign * 5));

    if ([WPM intValue] >= 200 && [WPM intValue] <= 1500) {
        self.WPMLabel.text = [WPM stringValue];

        self.wordsPerMinute = WPM;

        [[NSUserDefaults standardUserDefaults] setObject:WPM forKey:@"WPM"];
    }
}

我该如何改变这一点,以实现更快的加速?

EN

回答 2

Stack Overflow用户

发布于 2013-04-14 03:38:24

速度需要时间。因此,每次代码运行时,都需要在实例变量中保存它在事件的timestamp上的时间。这样,下次代码运行时,您可以将转换更改和所用时间与上一次更改进行比较。

我要做的是尝试在一个数组中保存三到四次之前的时间和三到四个之前的位置,这样你就可以获得移动平均值并抑制速度变化。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15991991

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档