单指轻扫手势仅适用于捏手势



我正试图在我的一个视图中添加一个非常简单的向上滑动手势。除非我用两根手指做一个向外/相反的捏手势,否则这个手势根本不起作用。我正在通过IB创建手势连接。我已经将手势属性设置为Swipe:Down和Touches:1。然而,它只能通过两个手指向外捏的动作来工作?发生了什么事?谢谢

编辑:

好吧,我试着把它编码出来,而不是使用接口生成器,我得到了同样的结果。这是我正在使用的代码

    UISwipeGestureRecognizer *swipeUpOnVideoView = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(SwipeUp:)];
swipeUpOnVideoView.direction = UISwipeGestureRecognizerDirectionUp;
swipeUpOnVideoView.numberOfTouchesRequired = 1;
[self.playerView addGestureRecognizer:swipeUpOnVideoView];

正如你所看到的,我只指定了一次触摸,但我的SwipeUp:方法只有在我用两个手指向外挤压的情况下才会执行???

检查一下它在我的应用程序中是否正常工作:

 UISwipeGestureRecognizer *swipeUp = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeUp:)];
[swipeUp setDirection:UISwipeGestureRecognizerDirectionUp ];
[self.view addGestureRecognizer:swipeUp];
- (IBAction)swipeUp:(UISwipeGestureRecognizer *)recognizer
{
    // do you stuff here
}

也许它会对你有所帮助。

快乐编码…:)

原来我的Xib文件中还有许多其他UITapGestureRecognizers。尽管我没有在代码中通过connections inspector将它们与我页面上的视图关联的任何地方调用。出于某种原因,这种干扰使得我的单指滑动手势只有在我使用两根手指捏动的情况下才会注册。

从我的xib中删除多个UITapGestureRecognizers,然后以编程方式为UISwipeGestureRecognizer编写代码,为我解决了这个问题。

最新更新