首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UISwipeGestureRecognizer异常行为

UISwipeGestureRecognizer异常行为
EN

Stack Overflow用户
提问于 2012-05-17 19:36:26
回答 1查看 187关注 0票数 0

我在UISwipeGestureRecognizer上发现了一些不寻常的行为。正确地检测到第一次滑动,但没有检测到第二次滑动。然后第三次滑动是正确的,但第四次不是等等。我有两个滑动手势识别器,一个是左边的,一个是右边的。以下是代码:

.h文件

代码语言:javascript
复制
- (IBAction)handleSwipe:(UISwipeGestureRecognizer *)recognizer;

.m文件

代码语言:javascript
复制
- (IBAction)handleSwipe:(UISwipeGestureRecognizer *)recognizer {
    if (recognizer.direction == UISwipeGestureRecognizerDirectionLeft) {
        NSLog(@"you swiped left");
        [self spinSunCounterClockwise];
    } else {
        NSLog(@"you swiped right");
        [self spinSunClockwise];
    }

}

因此,例如,如果我第一次向左滑动,则调用spinSunCounterClockwise,但如果再次向左滑动,则调用spinSunClockwise

另一个例子是,如果我第一次向左滑动,就会调用spinSunCounterClockwise。如果我正确地滑动,spinSunCounterClockwise将再次被调用。

有什么帮助吗?

编辑1:纺纱方法之一

代码语言:javascript
复制
-(void) spinSunCounterClockwise
{
    [UIView animateWithDuration:2.0f animations:^{
        imgSun.transform = CGAffineTransformRotate(imgSun.transform, 3.142);
    } completion:^(BOOL finished) {

    }];
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-17 20:08:31

当您将视图旋转180°(顺便说一句,您应该使用M_PI而不是3.142)时,视图随后是倒过来的,所以以前左转的视图现在是右视图,反之亦然。

所以当你第一次向左滑动时,第二次左击(从你的角度来看)实际上被认为是右击,而右击实际上是左击,这解释了你观察到的行为。

经过两个手势(360°旋转)后,您的视图又回到了原来的方向,因此对第三个手势的识别又是“正常”的。

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

https://stackoverflow.com/questions/10642383

复制
相关文章

相似问题

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