ios - 无法正确获取 UISwipeGestureRecognizer 方向

标签 ios uigesturerecognizer uiswipegesturerecognizer

我正在编写代码以在 View 上上下移动我的两根手指以更改某些状态。代码如下:

UISwipeGestureRecognizer *aSwipeGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeGesture:)];
[aSwipeGesture setDirection:UISwipeGestureRecognizerDirectionUp | UISwipeGestureRecognizerDirectionDown];
aSwipeGesture.numberOfTouchesRequired = 2;
[self.View addGestureRecognizer:aSwipeGesture];


- (void)swipeGesture:(UISwipeGestureRecognizer *)sender {
    NSLog(@"Swipe received.");
    if (sender.direction==UISwipeGestureRecognizerDirectionUp) {
        NSLog(@"swipe up");
    } else if (sender.direction==UISwipeGestureRecognizerDirectionDown) {
        NSLog(@"swipe down");
    }
}

然而,我唯一能收到的打印日志是收到的刷卡,如下所示。我无法收到向上滑动或向下滑动的消息,我是不是错过了什么?谢谢

ViewController.m:228    Swipe received.
ViewController.m:228    Swipe received.
ViewController.m:228    Swipe received.
ViewController.m:228    Swipe received.
ViewController.m:228    Swipe received.
ViewController.m:228    Swipe received.

更新:我必须用两根手指才能完成滑动 Action 。

最佳答案

试试这个

UISwipeGestureRecognizer *aSwipeGestureUp = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeGesture:)];
[aSwipeGesture setDirection:UISwipeGestureRecognizerDirectionUp];
aSwipeGestureUp.numberOfTouchesRequired = 2;
[self.View addGestureRecognizer:aSwipeGestureUp];

UISwipeGestureRecognizer *aSwipeGestureDown = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeGesture:)];
[aSwipeGestureDown setDirection:UISwipeGestureRecognizerDirectionDown];
aSwipeGestureDown.numberOfTouchesRequired = 2;
[self.View addGestureRecognizer:aSwipeGestureDown];

关于ios - 无法正确获取 UISwipeGestureRecognizer 方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16184539/

相关文章:

iOS - UILongPressGestureRecognizer

ios - 如何创建向上/向下滑动的 UITableView?

ios - 向 UITableView 添加滑动手势

ios - 2 UIPageViewControllers手势冲突

iphone - 隐藏底栏导航 Controller

ios - 为什么 Sprite 套件中的touchesBegan不允许我访问 Sprite 名称?

ios - iOS SDK 中的通知中心与委派

objective-c - 一旦由 UILongPressGestureRecognizer 触发拖动它时,如何使我的 UIView 保持在 "jumping"?

iOS 滑动检测仅适用于 1 个 UITableViewCell?

ios - 更改 UIViews 高度到底部但应该向上