【问题标题】:iphone development : gesture recognition scrolling enabled simultaneouslyiphone开发:同时启用手势识别滚动
【发布时间】:2012-08-28 05:30:04
【问题描述】:

在我的应用程序中,我需要在我的背景滚动条上有一个向上滑动手势识别器。下面是我的代码

它在 viewDidLoad 中

UISwipeGestureRecognizer *Swipe = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(SwipeRecognizer:)];
Swipe.direction = UISwipeGestureRecognizerDirectionUp;
[backgroundScroller addGestureRecognizer:Swipe];

它是 SwipeRecognizer:

- (void) SwipeRecognizer:(UISwipeGestureRecognizer *)sender {
    if (sender.direction | UISwipeGestureRecognizerDirectionUp){
        NSLog(@" *** SWIPE UP ***");
    }
}

问题是我无法同时启用滚动和捕捉手势。当我说未启用滚动时,我可以识别手势。但我需要同时滚动和手势识别。不可能吗?

【问题讨论】:

    标签: iphone objective-c ios scrollview gesture-recognition


    【解决方案1】:

    重写 gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer: 方法以不阻塞 UIScrollViews Pan 识别器

    它会起作用的……

    不要忘记为自己添加代理以进行手势识别。正如@death7eater 的评论中提到的那样。

    【讨论】:

    • 感谢您的回答,但它不起作用。仍然当我设置滚动启用时,我无法识别手势
    • 好吧,我使用了它并添加了Swipe.delegate = self;,它确实有效。谢谢:)
    • 当然这是必要的,否则该方法将不会被调用 ;)
    • @lukaswelte - 几天前就有这个问题,请从您的回答中解决。仅供参考,我只是在 death7eater 的评论的帮助下扩展了您的答案以使其完整。谢谢你们。
    【解决方案2】:

    我这样解决了我的问题:

    这是给 viewDidLoad 的:

    UISwipeGestureRecognizer *Swipe = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(SwipeRecognizer:)];
        Swipe.direction = UISwipeGestureRecognizerDirectionUp;
        [backgroundScroller addGestureRecognizer:Swipe];
        Swipe.delegate = self;
    

    这是 SwipeRecognizer 方法:

    - (void) SwipeRecognizer:(UISwipeGestureRecognizer *)sender {
        if (sender.direction | UISwipeGestureRecognizerDirectionUp){
            NSLog(@" *** SWIPE UP ***");
        }
    }
    

    感谢@lukaswelte,这允许同时执行多个手势:

    - (BOOL) gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
        return YES;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多