首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法从touchesEnded发送参数

无法从touchesEnded发送参数
EN

Stack Overflow用户
提问于 2011-02-03 11:46:53
回答 1查看 182关注 0票数 0

我正在尝试从我的touchesEnded处理程序中发送一个参数,如下所示...

代码语言:javascript
复制
    - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {

    UITouch *touch = [touches anyObject];
    CGPoint currentPosition = [touch locationInView:self.view];
    CGFloat deltaX = fabsf(gestureStartPoint.x - currentPosition.x);
    CGFloat deltaY = fabsf(gestureStartPoint.y - currentPosition.y);
    if (deltaX >= 0.3 && deltaY <= 100) { //horizontal swipe detected

               [self performSelector:@selector(refreshCover:)
                   withObject:nil afterDelay:0];
        if (gestureStartPoint.x < currentPosition.x) { //swipe right
            [self refreshCover:@"backward"];
            NSLog(@"swipe backward");
        } else { //swipe left
            [self refreshCover:@"forward"];
            NSLog(@"swipe forward");
        }       
    }
}

然后在refreshCover中,我只需要:

代码语言:javascript
复制
    - (void)refreshCover:(NSString*)direction {

    NSLog(@"direction: %@", direction);
}

当用户滑动时,会调用refreshCover,但不会传递direction参数。如果我从其他任何地方调用self refreshCover:@"forward“,参数传递都没有问题。

有什么想法吗?提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-03 12:01:15

问题出在下面的代码中

代码语言:javascript
复制
[self performSelector:@selector(refreshCover:)
               withObject:nil afterDelay:0];

performSelector将调用该函数。我认为这段代码是不需要的,因为您是单独调用该函数的

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

https://stackoverflow.com/questions/4882499

复制
相关文章

相似问题

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